C2. Potions (Hard Version)—— Codeforces Round #723 (Div. 2)
Posted 出尘呢
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C2. Potions (Hard Version)—— Codeforces Round #723 (Div. 2)相关的知识,希望对你有一定的参考价值。
https://codeforces.com/contest/1526/problem/C2
效率:贪心为最优
——真的就是优先栈
超级无敌可爱的eke老师:
C2贪心
逸珂 0:35:47
我是维护了一个优先队列
逸珂 0:36:17
记录队列元素的分数和
逸珂 0:36:36
如果和小于0了,就把队列里面最小的数pop掉,直到不为负
逸珂 0:36:51
然后用队列长度更新答案
出尘 0:37:13
嗯
逸珂 0:37:40
其实我因为C1用了dp,C2也老想着dp
出尘 0:37:58
嗯嗯
出尘 0:37:59
我也是
出尘 0:38:11
还想二分或者记忆化来着
逸珂 0:38:16
确实
#include<bits/stdc++.h>
#ifdef LOCAL
FILE*FP=freopen("text.in","r",stdin);
#endif
#define int long long
using namespace std;
int n,te;
signed main(){
scanf("%lld",&n);
int m=0,sum=0,cnt=0;
priority_queue<int,vector<int>,greater<int> >q;
for(int i=0;i<n;i++){
scanf("%lld",&te);
q.push(te);cnt++;sum+=te;
while(sum<0){
te=q.top();q.pop();
sum-=te;
cnt--;
}
m=max(m,cnt);
}
printf("%lld\\n",m);
return 0;
}
以上是关于C2. Potions (Hard Version)—— Codeforces Round #723 (Div. 2)的主要内容,如果未能解决你的问题,请参考以下文章
[CF]1526C2 Potions (Hard Version) 优先队列贪心
CF #723 (Div. 2)C1_C2. Potions (Hard Version)可反悔贪心
[Codeforces Round #622 (Div. 2)] - C2. Skyscrapers (hard version) (单调栈)
C2. Exam in BerSU (hard version)