二分求条
查看原帖
二分求条
902351
Little_x_starTYJ楼主2024/10/9 17:08

不要告诉我推式子,我只想知道我哪里错了。

#include <bits/stdc++.h>
using namespace std;
#define int unsigned long long
int a, b, c;
inline bool check(__int128 number5) {
	double k = (a * 2 + b * 3 + c * 4 + number5 * 5) * 1.0 / (a + b + c + number5);
	int t = round(k);
	if (t >= 4)
		return true;
	return false;
}
inline void write(__int128 k) {
	if (k > 9)
		write(k / 10);
	putchar(k % 10 + '0');
}
signed main() {
	cin >> a >> b >> c;
	__int128 l = 0, r = 1e30;
	while (l < r) {
		__int128 mid = l + r >> 1;
		if (check(mid)) {
			r = mid;
		} else {
			l = mid + 1;
		}
	}
	write(l);
	return 0;
}
2024/10/9 17:08
加载中...