60分,求调(AC必关!)
查看原帖
60分,求调(AC必关!)
1259877
TipherethB楼主2024/8/9 19:50
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

ll a[10000010], m, n, maxx = -1;

int judge (ll x) {
	ll cnt = 0;
	for (ll i = 1; i <= n; i++) {
		if (x < a[i]) cnt += a[i] - x;
	}
	return cnt;
}
int main () {
	cin >> n >> m;
	for(ll i = 1; i <= n; i++) cin >> a[i], maxx = max(maxx, a[i]);
	ll l = 1, r = maxx;
	while (l < r) {
		ll mid = (l + r + 1) / 2;
		if (judge(mid) >= m) l = mid + 1;
		else r = mid - 1;
	}
	cout << l - 1;
	return 0;
}

2024/8/9 19:50
加载中...