博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces 1148 E - Earth Wind and Fire
阅读量:5337 次
发布时间:2019-06-15

本文共 1491 字,大约阅读时间需要 4 分钟。

思路:

栈模拟

代码:

#pragma GCC optimize(2)#pragma GCC optimize(3)#pragma GCC optimize(4)#include
using namespace std;#define y1 y11#define fi first#define se second#define pi acos(-1.0)#define LL long long//#define mp make_pair#define pb emplace_back#define ls rt<<1, l, m#define rs rt<<1|1, m+1, r#define ULL unsigned LL#define pll pair
#define pli pair
#define pii pair
#define piii pair
#define puu pair
#define pdd pair
#define mem(a, b) memset(a, b, sizeof(a))#define fio ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);#define fopen freopen("in.txt", "r", stdin);freopen("out.txt", "w", stout);//headint main() { int n; scanf("%d", &n); vector
a(n); vector
b(n); for (int i = 0; i < n; ++i) scanf("%d", &a[i].fi), a[i].se = i; for (int i = 0; i < n; ++i) scanf("%d", &b[i]); sort(a.begin(), a.end()); sort(b.begin(), b.end()); vector
> res; vector
st; for (int i = 0; i < n; ++i) { int d = b[i]-a[i].fi; if(d == 0) continue; if(d > 0) { st.pb(d, a[i].se); } else { while(d < 0) { if(st.empty()) return 0*puts("NO"); int dd = min(st.back().fi, -d); d += dd; st.back().fi -= dd; res.pb(st.back().se, a[i].se, dd); if(st.back().fi == 0) st.pop_back(); } } } if(!st.empty()) return 0*puts("NO"); printf("YES\n%d\n", (int)res.size()); for (auto p : res) printf("%d %d %d\n", get<0>(p)+1, get<1>(p)+1, get<2>(p)); return 0;}

 

转载于:https://www.cnblogs.com/widsom/p/11114822.html

你可能感兴趣的文章
接口API测试和返回值JSON解析的插件
查看>>
Shiro学习笔记
查看>>
Contest2195 - 2019-4-25 高一noip基础知识点 测试8 题解版
查看>>
EL表达式总结
查看>>
WCF的应用与说明
查看>>
JSON
查看>>
ibatis批量添加数据
查看>>
将 Shiro 作为应用的权限基础 二:基于SpringMVC实现的认证过程
查看>>
管理C++类中的指针成员
查看>>
生成函数与指数生成函数
查看>>
4.接口隔离原则(Interface Segregation Principle)
查看>>
wcf系列学习5天速成——第四天 wcf之分布式架构
查看>>
LeetCode "Maximum Product of Word Lengths"
查看>>
linux 用户与权限管理
查看>>
Api demo源码学习(9)--App/Activity/Receive Result --Activity间传递数据
查看>>
Vim总结(二)
查看>>
JAVA:URL之图像图标
查看>>
wcf host service
查看>>
JSP内置对象——out,get与post
查看>>
一维数组
查看>>