资本 • 5天前
using namespace std; int a[1000010]; int n, m;
bool check(int mid) {
long long int sum = 0;
for (int i = 1; i <= n; i++) {
if (a[i] > mid) {
sum += a[i] - mid;
}
}
return sum >= m;
}
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
sort(a + 1, a + n + 1);
long long int l = 1, r = a[n];
long long int ans = 0;
while (l <= r) {
long long int mid = (l + r) / 2;
if (check(mid)) {
ans = mid;
l = mid + 1;
} else {
r = mid - 1;
}
}
cout << ans;
return 0;
}
评论:
请先登录,才能进行评论