50分求助!!!十万火急!!赶作业!!
查看原帖
50分求助!!!十万火急!!赶作业!!
597555
hzb1121楼主2022/7/5 16:56
#include<bits/stdc++.h>
using namespace std;
int main()
{
	long long n,m,i,l,r,sum=0,mid;
	cin>>n>>m;
	long long a[n];
	for(i=0;i<n;i++) cin>>a[i];
	sort(a,a+n);
	l=a[0];
	r=a[n-1];
	while(l<=r)
	{
		mid=(l+r)/2;
		for(i=0;i<n;i++)
		{
			if(a[i]>mid) sum+=a[i]-mid;
		}
		if(sum==m) break;
		else if(sum>m) l=mid+1;
			 else r=mid;
		sum=0;
	} 
	cout<<mid;
	return 0;
}
2022/7/5 16:56
加载中...