33求助
查看原帖
33求助
745288
Joker_Error_404楼主2024/1/17 18:05
#define FOR(i, a, b) for (long long int i = a; a > b ? i >= b : i <= b; a > b ? --i : ++i)

constexpr int N = 5e5 + 1;
int n, x, y, a[N], l = -1, mid, r = N;
inline bool check() {
	int tot(0);
	FOR (i, 1, n) {
		if (a[i] - x * mid > 0) {
			int j = a[i] - x * mid;
			tot += j / y;
			if (!j % y) ++tot;
		}
		if (tot > mid) return false;
	}
	if (tot > mid) {
		return false;
	}
	return true;
}
int main() {
	cin >> n >> x >> y;
	FOR (i, 1, n) {
		cin >> a[i];
	}
	while (l + 1 < r) {
		mid = (l + r) >> 1;
		if (check()) {
			r = mid;
		} else {
			l = mid;
		}
	}
	cout << l;
}
2024/1/17 18:05
加载中...