#include<bits/stdc++.h>
using namespace std;
long long n,m,a[10000010],maxn;
long long check(int x)
{
int sum=0;
for(long long i=1;i<=n;i++)
if(a[i]-x>0)
sum+=a[i]-x;
return sum;
}
int main()
{
cin>>n>>m;
for(long long i=1;i<=n;i++)
{
cin>>a[i];
if(a[i]>maxn) maxn=a[i];
}
long long l=0,r=maxn;
while(l<=r)
{
long long mid=(l+r)/2;
if(check(mid)>m) l=mid+1;
else r=mid-1;
}
cout<<l;
return 0;
}
样例两个都过了,但只过第一组数据是为什么啊?求大佬指点