Codeforces Round 444 div2 D two pointer + 贪心
来源:互联网 发布:大数据的理解和认识 编辑:程序博客网 时间:2024/06/05 20:06
#include<bits/stdc++.h>#define eps 1e-8#define pi 3.141592653589793#define mp make_pairconst int MAXN = 10e6+6;using namespace std;typedef pair<int, int> pii;typedef long long ll;ll pre1[MAXN]; ll pre2[MAXN];pii info[MAXN];int main(){int n, a, b, c, d, st, len, x,y;cin>>n>>a>>b>>c>>d>>st>>len;pre1[0]=st; pre2[0]=st;for (int i=1; i<=n; i++){ cin>>x>>y; info[i]=mp(x,y); if (y==1){ pre1[i]=pre1[i-1]+a; pre2[i]=pre2[i-1]+c; } else{ pre1[i]=pre1[i-1]-b; pre2[i]=pre2[i-1]-d; }}info[0]=mp(-1, -1);multiset <ll> se;int rp=1;for (int lp=0; lp<=n; lp++) { if (pre1[lp]<0) {cout<<-1<<endl; return 0;} if (lp) se.erase(se.find(pre2[lp])); while (info[rp].first-(info[lp].first+1)<len && rp<=n){ se.insert(pre2[rp]); rp++; } if (se.size()==0) {cout<<info[lp].first+1<<endl; return 0;} ll tmp=*se.begin(); if (pre1[lp]+tmp-pre2[lp]>=0) {cout<<info[lp].first+1<<endl; return 0;}}return 0;}
阅读全文
0 0
- Codeforces Round 444 div2 D two pointer + 贪心
- CodeForces Round 230 Div2 D
- codeforces div2 round#230 D
- Codeforces Round #317div2 D
- codeforces round#377 div2 D
- codeforces Round #382(Div2) D
- Codeforces Round #409 div2 D
- Codeforces #Round 447Div2 D
- Codeforces Round#450 div2 D
- B. Two Buttons(Codeforces Round #295(div2))
- Codeforces Round #274(Div2) B. Towers 贪心
- Codeforces Round #274(Div2) C. Exams 贪心
- codeforces round #364 div2 D As Fast As Possible 二分+贪心
- codeforces Round #237(div2) D解题报告
- codeforces Round #238(div2) d解题报告
- codeforces Round #241(div2) D解题报告
- codeforces round #257 div2 C、D
- codeforces Round #269(div2) D解题报告
- python3.x生成html形式,文件差异对比
- PHPWAMP乱码一键解决,PHP乱码通用解决方案/网站乱码的多种原因分析
- webx
- Android——BroadcastReceiver (一)
- leetcode_664. Strange Printer ? 待解决
- Codeforces Round 444 div2 D two pointer + 贪心
- EXCEL规范数据输入教程-验证身份证号
- rabbitMq使用
- VM安装虚拟机配置网络选项
- ajax+json将数据存入mysql数据库
- caffe中的concate层
- 求最大值、最小值、平均值
- leetcode_412. Fizz Buzz ? 待解决
- 实验一 线性回归