44952023-03-29 10:31:36semmiLeggyorsabb pénzkeresés (50)cpp17Elfogadva 50/5035ms5992 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    int n, p;
    cin >> n >> p;
    vector<int> k(n+1), prefi(n+1, 0);
    for(int i = 1;i <=n;i++ ) {
        cin >> k[i];
    }
    prefi[1] = k[1];
    for(int i = 2;i<=n;i++ ) {
        prefi[i] = prefi[i-1] + k[i];
    }
    int b = 1;
    int ans = INT_MAX;

    for(int i = 1;i<=n;i++) {
        if(prefi[i] - prefi[b-1] < p) {
            continue;
        }
        ans = min(ans, i-b+1);
        for(int z = b;z < i;z++) {
            if(prefi[i] - prefi[z] >= p) {
                b = z+1;
            } else {
                break;
            }
        }
        ans = min(ans, i-b+1);
    }
    
    cout << ans << endl;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1816 KiB
2Elfogadva0/032ms3404 KiB
3Elfogadva2/23ms2264 KiB
4Elfogadva2/23ms2472 KiB
5Elfogadva2/23ms2640 KiB
6Elfogadva2/26ms3052 KiB
7Elfogadva2/26ms3500 KiB
8Elfogadva2/26ms3468 KiB
9Elfogadva2/24ms3436 KiB
10Elfogadva2/24ms3436 KiB
11Elfogadva2/232ms4796 KiB
12Elfogadva2/232ms5108 KiB
13Elfogadva2/232ms5056 KiB
14Elfogadva2/232ms5168 KiB
15Elfogadva2/232ms5372 KiB
16Elfogadva2/232ms5460 KiB
17Elfogadva2/232ms5520 KiB
18Elfogadva2/232ms5524 KiB
19Elfogadva2/232ms5524 KiB
20Elfogadva2/232ms5524 KiB
21Elfogadva2/232ms5528 KiB
22Elfogadva2/235ms5896 KiB
23Elfogadva2/232ms5884 KiB
24Elfogadva2/232ms5992 KiB
25Elfogadva2/232ms5948 KiB
26Elfogadva2/232ms5948 KiB
27Elfogadva2/232ms5948 KiB