81722024-01-12 15:41:51szabelrSípálya (55 pont)cpp17Hibás válasz 18/55500ms4796 KiB
#include <iostream>

using namespace std;

int epit(int h[], int s, int K, int N) {
    int maxi = 0;
    for (int i = 0; i < K; i++)
        if (h[s+i]+i > h[s+maxi]+maxi) maxi = i;
    /* cout << "maxi = " << maxi << endl; */
    
    int m = h[s+maxi] - (K-1-maxi); // utolso lepcsofok magassaga
    /* cout << "m = " << m << endl; */
    
    int hs = 0;
    for (int i = 0; i < K; i++) hs += h[s+i];

    return K * (K-1) / 2 + K * m - hs;
}

int main() {

    int N, K, h[200000];
    
    cin >> N >> K;
    for (int i = 0; i < N; i++) cin >> h[i];

    int minp = epit(h, 1, K, N);
    for (int i = 1; i < N-K; i++) {
        int p = epit(h, i, K, N);
        if (p < minp) minp = p;
    }
    cout << minp;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base18/55
1Elfogadva0/03ms3424 KiB
2Elfogadva0/03ms3652 KiB
3Elfogadva2/24ms3864 KiB
4Elfogadva2/24ms4072 KiB
5Elfogadva2/24ms4248 KiB
6Elfogadva2/24ms4332 KiB
7Hibás válasz0/34ms4432 KiB
8Elfogadva1/116ms4436 KiB
9Elfogadva1/118ms4560 KiB
10Elfogadva1/119ms4644 KiB
11Elfogadva1/128ms4644 KiB
12Elfogadva1/128ms4640 KiB
13Elfogadva1/157ms4648 KiB
14Elfogadva2/265ms4796 KiB
15Elfogadva2/228ms4756 KiB
16Időlimit túllépés0/2500ms3016 KiB
17Időlimit túllépés0/2462ms3160 KiB
18Időlimit túllépés0/2465ms3236 KiB
19Időlimit túllépés0/3470ms3428 KiB
20Időlimit túllépés0/2462ms3664 KiB
21Időlimit túllépés0/2465ms3900 KiB
22Időlimit túllépés0/2453ms3856 KiB
23Időlimit túllépés0/2469ms3948 KiB
24Időlimit túllépés0/2433ms3928 KiB
25Időlimit túllépés0/2462ms3916 KiB
26Időlimit túllépés0/2474ms3940 KiB
27Időlimit túllépés0/2458ms4120 KiB
28Időlimit túllépés0/3437ms4296 KiB
29Időlimit túllépés0/3462ms4440 KiB
30Időlimit túllépés0/3446ms4392 KiB