60分d大佬求调 3, 5, 6, 9wa。
查看原帖
60分d大佬求调 3, 5, 6, 9wa。
1275749
zcylanqiao楼主2024/4/11 13:27
/*********************************************************************

*********************************************************************/
#include <iostream>
#include <string.h>
#define ll long long
using namespace std;

ll n, x, h[100005], sum[100005];

bool pd(ll y) {
	int j;
	for (int i = 1; i <= n - y; i++) {
		j = i + y - 1;
		if ((sum[j] - sum[i] + h[i]) < 2 * x) {
			return false;
		}
	}
	return true;
}

int main() {
	cin >> n >> x;

	for (int i = 1; i <= n - 1; i++) {
		cin >> h[i];
		sum[i] = sum[i - 1] + h[i];
	}
	ll l = 1, r = n, mid;
	while (l < r) {
		mid = (l + r) / 2;
		if (pd(mid)) {
			r = mid - 1;
		} else {
			l = mid + 1;
		}
	}
	cout << l;

	return 0;
}

2024/4/11 13:27
加载中...