138432025-01-08 21:30:49sarminLeghosszabb nyaralás (75 pont)cpp17Hibás válasz 72/7512ms1620 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {

	ios_base::sync_with_stdio(0);
	cin.tie(0);

	int n, p; cin >> n >> p;
	vector<int> a(n), prefix(n, 0);
	for (int i = 0; i < n; i++) {
        cin >> a[i];
        if (i == 0) prefix[i] = a[i];
        else prefix[i] = prefix[i - 1] + a[i];
    }

    int jj = -1, mx = 0;
    for (int i = 0; i < n; i++) {
        int j = jj, sum = 0;
        if (j != -1) sum = prefix[j] - prefix[i - 1];
        while (j + 1 < n && sum + a[j + 1] < p) {
            j++;
            sum += a[j];
        }
        jj = max(jj, j);
        mx = max(mx, j - i + 1);
    }
    cout << mx;

	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base72/75
1Elfogadva0/01ms508 KiB
2Elfogadva0/012ms1464 KiB
3Hibás válasz0/31ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva4/41ms316 KiB
9Elfogadva4/41ms320 KiB
10Elfogadva5/51ms316 KiB
11Elfogadva5/52ms524 KiB
12Elfogadva5/52ms316 KiB
13Elfogadva7/78ms1620 KiB
14Elfogadva7/79ms1332 KiB
15Elfogadva7/712ms1468 KiB
16Elfogadva8/812ms1556 KiB
17Elfogadva8/812ms1588 KiB