想看提交结果就戳这里
代码如下:
#include <cstdio>
#define N 1000005
using namespace std;
int n, m;
int h[N];
int l, r;
int mid;
bool check(int x) {
int tmp = 0;
for(int i = 1; i <= n; ++i)
if(h[i] > x)
tmp += h[i] - x;
return tmp > m;
}
int main() {
scanf("%d%d", &n, &m);
for(int i = 1; i <= n; ++i) {
scanf("%d", &h[i]);
if(h[i] > r)
r = h[i];
}
while(l <= r) {
mid = (l + r) >> 1;
if(check(mid))
l = mid + 1;
else
r = mid - 1;
}
printf("%d\n", l);
return 0;
}