199102025-12-29 13:03:43AblablablaFolyóparti telkek (40 pont)cpp17Accepted 40/4035ms1076 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n, p;
    cin >> n >> p;

    vector<int> alap(n);
    for(int &x : alap){
        cin >> x;
    }

    vector<int> pref(n + 1);
    for(int i = 1; i <= n; i++){
        pref[i] = pref[i - 1] + alap[i - 1];
    }

    int ans = 0;

    for(int i = 0; i < n; i++){
        int l = i, r = n - 1;
        int ind = -1;

        while(l <= r){
            int k = (l + r) / 2;

            int ert = pref[k + 1] - pref[i];

            if(p >= ert){
                ind = k;
                l = k + 1;
            } else{
                r = k - 1;
            }
        }

        if(ind == -1) continue;

        ans = max(ans, ind - i + 1);
    }

    cout << ans << "\n";
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/01ms316 KiB
2Accepted0/035ms1076 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted3/31ms316 KiB
9Accepted3/32ms316 KiB
10Accepted3/32ms316 KiB
11Accepted3/32ms368 KiB
12Accepted3/316ms608 KiB
13Accepted3/321ms644 KiB
14Accepted3/318ms944 KiB
15Accepted3/328ms1020 KiB
16Accepted3/328ms1020 KiB
17Accepted3/332ms1016 KiB