j救命一直60分wa
查看原帖
j救命一直60分wa
640890
cyxwin楼主2022/2/20 00:06
#include<bits/stdc++.h>
using namespace std;
long long int n,m;
long long int a[1000005];
long long int j(int x)
{
	long long int ans=0;
	for(long long int i=n-1;i>=0;i--)
	{
		if(x<=a[i])
		ans+=a[i]-x;
		else
		{
			break;
		}
	}
	return ans;
}
int main()
{	cin>>n>>m;
	for(long long int i=0;i<n;i++)
	{
		scanf("%lld",&a[i]);
	}
	sort(a,a+n);
	long long int l=0;
	long long int r=a[n-1];
	long long int mid;
	while(l<=r)
	{
		mid=(l+r)/2;
		if(m<j(mid))
		{
			l=mid+1;
		}
		else if(m>j(mid))
		{
			r=mid-1;
		}
		else
		{
			break;
		} 
	}
	if(j(mid)>=m)
	printf("%lld",mid);
	else
	printf("%lld",mid+1);
}
2022/2/20 00:06
加载中...