using namespace std;
int a[1000005];
int N,M;
bool x(int k)
{
long long sun=0;
for(int i=0;i<N;i++)
{
if(a[i]>k)
{
sun+=a[i]-k;
}
if(sun>=M)
{
return true;
}
}
return false;
}
int main()
{
int r=0,l=0,mid=0,ans=0;
cin>>N>>M;
for(int i=0;i<N;i++)
{
cin>>a[i];
r=max(r,a[i]);
}
while(l<r)
{
mid=(r+l)/2;
if(x(mid))
{
l=mid;
}
else r=mid-1;
ans=mid;
}
cout<<ans<<endl;
return 0;
} ```
为啥怎么修改都超时,之前用函数还能过,现在怎么改都超时,大佬帮忙康康