只有60分。。。
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=5000010;
int n,m,a[N],max_val,l,r,mid,ans;
int check(int cnt)
{
ans=0;
for(int i=1;i<=n;i++)
{
if(a[i]>cnt)
{
ans+=a[i]-cnt;
}
}
return ans;
}
signed main()
{
scanf("%lld%lld",&n,&m);
for(int i=1;i<=n;i++)
{
scanf("%lld",&a[i]);
max_val=max(max_val,a[i]);
}
l=0,r=max_val;
while(l<r)
{
mid=(r+l)/2;
if(check(mid)>=m)
{
ans=mid;
l=mid+1;
}
else
{
r=mid;
}
}
printf("%lld",ans);
return 0;
}