Codeforces 644B Processing Queries【STL】
来源:互联网 发布:php stdclass new 编辑:程序博客网 时间:2024/05/21 22:30
题目链接:Codeforces 644B Processing Queries
题意:给定
思路:我们模拟去维护一个
#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <algorithm>#include <vector>#include <queue>#include <map>#include <stack>#define PI acos(-1.0)#define CLR(a, b) memset(a, (b), sizeof(a))#define fi first#define se second#define ll o<<1#define rr o<<1|1using namespace std;typedef long long LL;typedef pair<LL, LL> pii;const int MAXN = 2*1e5 + 1;const int pN = 1e6;// <= 10^7const int INF = 0x3f3f3f3f;const int MOD = 1e9 + 7;void getmax(int &a, int b) {a = max(a, b); }void getmin(int &a, int b) {a = min(a, b); }void add(LL &x, LL y) { x += y; x %= MOD; }struct Node { LL t, d; int id;};Node num[MAXN];LL ans[MAXN];int main(){ int n, b; cin >> n >> b; queue<Node> Q; LL last = 0; for(int i = 0; i < n; i++) { cin >> num[i].t >> num[i].d; num[i].id = i; if(last <= num[i].t) { while(!Q.empty()) { Node p = Q.front(); Q.pop(); last = max(p.t, last) + p.d; ans[p.id] = last; if(last > num[i].t) break; } } if(last > num[i].t){ if(Q.size() < b) { Q.push(num[i]); } else { ans[num[i].id] = -1; } } else { last = max(last, num[i].t) + num[i].d; ans[num[i].id] = last; } //cout << last << endl; } while(!Q.empty()) { Node p = Q.front(); Q.pop(); last = max(p.t, last) + p.d; ans[p.id] = last; } for(int i = 0; i < n; i++) { if(i) cout << ' '; cout << ans[i]; } cout << endl; return 0;}
0 0
- Codeforces 644B Processing Queries【STL】
- CodeForces 644 B.Processing Queries(队列)
- codeforces B. Processing Queries【模拟】
- Code Forces 644B Processing Queries
- CROC 2016 - Qualification-B. Processing Queries(队列)
- codeforces 313B Ilya and Queries
- Codeforces 313B Ilya and Queries
- Codeforces 313B : Ilya and Queries
- codeforces644B. Processing Queries (模拟)
- codeforces 631B (STL set)
- CodeForces 114B 【STL应用】
- codeforces GYM 101431B (STL)
- codeforces 714C Sonya and Queries [思维]【STL】
- Educational Codeforces Round 1 B. Queries on a String
- Codeforces 598B Queries on a String 【水题】
- Educational Codeforces Round 1 B. Queries on a String
- Educational Codeforces Round 1 B.Queries on a String(模拟)
- codeforces B.Queries about less or equal elements
- python正则表达式
- 21. Merge Two Sorted Lists
- 细谈select函数(C语言)
- 【codevs 1080~1082】线段树练习重做
- 110. Balanced Binary Tree
- Codeforces 644B Processing Queries【STL】
- oracle通过dblink连接Mysql
- 第四届 蓝桥杯 第八题 翻硬币 贪心 解题报告
- 聚类算法K-Means, K-Medoids, GMM, Spectral clustering,Ncut
- 101. Symmetric Tree
- 【C++】《C++标准程序库》小结七章-迭代器
- 最长公共子序列
- 指针与引用的区别
- 198. House Robber