70求助
查看原帖
70求助
1250883
tsongyuanmq楼主2024/3/15 21:28
#include<iostream>
#define long long
#define maxn 1000010
using namespace std;
int n,m,a[maxn],max1=-1,ans,sum;
signed main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++) 
	{
		cin>>a[i];
		if(a[i]>max1) max1=a[i];
	}
	int l=0,r=max1;ans=(l+r)/2;
	while(l<=r)
	{
		sum=0;
		for(int i=1;i<=n;i++) 
  			if(a[i]>ans) sum+=a[i]-ans;
		if(sum<m)r=ans-1;
		else l=ans+1;
		ans=(l+r)/2;
	}
	cout<<ans;
	return 0;
}
2024/3/15 21:28
加载中...