0分!!!
查看原帖
0分!!!
900910
lsrsrl楼主2024/9/20 13:02

代码:

#include <bits/stdc++.h>

using namespace std;
const int N = 500010;

int n, a, b;
int w[N];

bool check(int x) {
	int s = 0;
	for (int i = 1; i <= n; i++) {
		if (w[i] - a * x <= 0)
			continue;
		int p = ceil((w[i] - a * x) * 1.0 / b);
		s += p;
	}
	return s <= x;
}
int bsearch(int l, int r) {
	while (l < r) {
		int mid = (l + r) >> 1;
		if (check(mid))
			r = mid;
		else
			l = mid + 1; 
	}
}
int main() {
	cin >> n>> a>> b;
	int l = 0, r = 0;
	for (int i = 1; i <= n; i++) {
		cin >> w[i];
		r = max(r, w[i] / a);
	}
	int ans = bsearch(l, r);
	cout << ans;
	return 0;
}
2024/9/20 13:02
加载中...