为什么答案不是多个1就是少个1,大佬救救我┭┮﹏┭┮
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n, m, a[1000005];
ll l, r, mid, mxh;
bool judge(ll x){
ll ans = 0;
for(ll j = n-1; j >= 0 && a[j] > x; j--)
ans += a[j] - x;
return ans >= m;
}
int main(){
scanf("%d%d", &n, &m);
for(ll i = 0; i < n; i++) scanf("%d", &a[i]);
sort(a, a+n);
l = 0, r = a[n-1];
while(l+1 < r){
mid = (l+r+1)/2;
if(judge(mid)) l = mid;
else r = mid;
}
printf("%lld", mid);
return 0;
}