为什么我的老是RE呢?看着题解有和我差不多的,有没有人救救我TVT
#include <iostream>
#include <algorithm>
#include <map>
using namespace std;
typedef long long ll;****
const int N=1e5+10;
ll a[N];
map<ll,ll>mp;
int gs(ll a[],int mid,int n,int m){
ll sum=0;
for(int i=0;i<n;i++){
if(a[i]>mid){
sum+=a[i]-mid;
}
}
if(sum>=m) return 1;
else return 0;
}
int main(){
ll n,m;
cin>>n>>m;
ll r;
for(int i=0;i<n;i++){
cin>>a[i];
r=max(r,a[i]);
}
int l=0;
while(l<r){
int mid=l+r+1>>1;
if(gs(a,mid,n,m)) l=mid;
else r=mid-1;
}
cout<<l<<endl;
return 0;
}