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)

Codeforces--C2. Good Numbers (hard version)

CF1486 C2. Guessing the Greatest (hard version)