144892025-01-12 08:22:53sarminLeghosszabb nyaralás (75 pont)cpp17Futási hiba 35/75300ms2024 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<long long> 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];
    }

    long long jj = -1, mx = 0;
    for (int i = 0; i < n; i++) {
        long long 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];
        }
        if (a[j + 1] > a[j]) {
          jj = max(jj, j);
        } else {
          jj = min(j, jj) + 1;
        }
        mx = max(mx, j - i + 1);
    }
    cout << mx;

	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base35/75
1Elfogadva0/01ms316 KiB
2Futási hiba0/012ms1844 KiB
3Hibás válasz0/31ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms560 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva4/41ms316 KiB
9Elfogadva4/41ms320 KiB
10Elfogadva5/51ms316 KiB
11Elfogadva5/52ms564 KiB
12Elfogadva5/52ms564 KiB
13Időlimit túllépés0/7300ms1844 KiB
14Futási hiba0/79ms2012 KiB
15Futási hiba0/712ms2024 KiB
16Futási hiba0/812ms1844 KiB
17Futási hiba0/810ms1844 KiB