1172021-01-16 11:18:23Valaki2Leghosszabb nyaralás (75 pont)cpp14Hibás válasz 72/7523ms4644 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    int n, k;
    cin >> n >> k;
    vector<int> v(n);
    for(int& i : v) cin >> i;
    int l = 0;
    int r = 0;
    long long sum = v[0];
    int maxi = 0, lans = -1, rans = -1;
    while(l < n) {
        if(r < n - 1) {
            if(v[r+1] > k) {
                l = r + 2;
                r = r + 2;
                if(r < n) {
                    sum = v[r];
                } else break;
            }
        }
        while(r < n - 1) {
            if(sum + v[r+1] <= k) {
                ++r;
                sum += v[r];
            } else break;
        }
        if(r-l+1>maxi){lans=l;rans=r;}
        maxi = max(r - l + 1, maxi);
        ++l;
        sum -= v[l-1];
    }
    //cout << lans+1 << " " << rans+1 << "\n";
    cout << maxi << "\n";
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base72/75
1Elfogadva0/01ms1736 KiB
2Elfogadva0/023ms2968 KiB
3Elfogadva3/31ms2224 KiB
4Elfogadva3/31ms2220 KiB
5Elfogadva3/31ms2236 KiB
6Elfogadva3/31ms2232 KiB
7Hibás válasz0/31ms2240 KiB
8Elfogadva4/41ms2244 KiB
9Elfogadva4/41ms2248 KiB
10Elfogadva5/51ms2256 KiB
11Elfogadva5/53ms2292 KiB
12Elfogadva5/53ms2324 KiB
13Elfogadva7/717ms3192 KiB
14Elfogadva7/719ms3548 KiB
15Elfogadva7/723ms3916 KiB
16Elfogadva8/823ms4272 KiB
17Elfogadva8/823ms4644 KiB