117 2021. 01. 16 11:18:23 Valaki2 Leghosszabb nyaralás (75 pont) cpp14 Hibás válasz 72/75 23ms 4644 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 Összpont Teszt Verdikt Idő Memória
base 72/75
1 Elfogadva 0/0 1ms 1736 KiB
2 Elfogadva 0/0 23ms 2968 KiB
3 Elfogadva 3/3 1ms 2224 KiB
4 Elfogadva 3/3 1ms 2220 KiB
5 Elfogadva 3/3 1ms 2236 KiB
6 Elfogadva 3/3 1ms 2232 KiB
7 Hibás válasz 0/3 1ms 2240 KiB
8 Elfogadva 4/4 1ms 2244 KiB
9 Elfogadva 4/4 1ms 2248 KiB
10 Elfogadva 5/5 1ms 2256 KiB
11 Elfogadva 5/5 3ms 2292 KiB
12 Elfogadva 5/5 3ms 2324 KiB
13 Elfogadva 7/7 17ms 3192 KiB
14 Elfogadva 7/7 19ms 3548 KiB
15 Elfogadva 7/7 23ms 3916 KiB
16 Elfogadva 8/8 23ms 4272 KiB
17 Elfogadva 8/8 23ms 4644 KiB