这连样例都过不了但你在while循环里的cout的注释删掉就过了样例求助```
#include<bits/stdc++.h>
using namespace std;
int a[1000010];
long long n,mid,m;
int max1(int a,int b){
if(a>b)return a;
return b;
}
int check(){
int ans;
for(int i=0;i<n;i++)ans+=max1((a[i]-amid),0);
return ans;
}
int main(){
cin>>n>>m;
for(int i=0;i<n;i++)cin>>a[i];
sort(a,a+n);
int l=a[0],r=a[n-1];
while(l<r){
//cout<<" ";
mid=(l+r)/2;
if(check()>m)l=mid+1;
else r=mid;
}
cout<<l;
return 0;
}