求助 90pts
查看原帖
求助 90pts
684031
皓月星辉楼主2023/8/28 19:10
#include<bits/stdc++.h>
using namespace std;
long long n,m,h[1000005],ans;
bool check(long long k)
{
	long long anss=0,t;
	for(long long i=0;i<n;i++)
	{
		t=h[i]-k;
		if(t<0)t=0;
		anss+=t;
	}
	return anss>m;
}
int main()
{
	cin>>n>>m;
	for(long long i=0;i<n;i++)cin>>h[i];
	long long l=0,r=1000000000,mid;
	while(l<=r)
	{
		mid=(l+r)/2;
		if(check(mid)){ans=mid,l=mid+1;}
		else r=mid-1;
	}
	cout<<ans<<endl;
	return 0;
}
2023/8/28 19:10
加载中...