社区讨论

WA on #20,#38,求条或hack

P14575坤班参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@micn4by4
此快照首次捕获于
2025/11/24 12:21
4 个月前
此快照最后确认于
2025/11/24 13:07
3 个月前
查看原帖
CPP
#include<bits/stdc++.h>
#define ll long long 
using namespace std;
ll n,m,a,b,c,ke[500010],bzr,bk[500010],ans,l,r,mid;
bool check(){
	ll sum=bzr;
	for(ll i=1;i<=m;i++){
		ll num=mid-ke[i];
		if(bk[i]<num) return false;
		sum-=num;
		if(sum<mid) return false;
	}return true;
}
int main(){
	cin>>n>>m;
	for(ll i=1;i<=n;i++){
		cin>>a>>b>>c;
		ke[a]+=b;
		if(c) bk[a]++,ke[a]--,bzr++;
	}l=0,r=bzr;
	while(l<=r){
		mid=(l+r)/2;
		if(check()) ans=mid,l=mid+1;
		else r=mid-1;
	}cout<<ans;
	return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...