81812024-01-12 16:02:53szabelrSípálya (55 pont)cpp17Hibás válasz 18/55481ms6492 KiB
#include <iostream>

using namespace std;

long epit(long h[], int s, int K, int N) {
    int maxi = 0;
    for (int i = 0; i < K and s+i<N; 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; */

    long hs = 0;
    for (int i = 0; i < K and s+i<N; i++) hs += h[s + i];

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

int main() {

    long  N, K, h[200000];

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

    int minp = epit(h, 0, 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/04ms4972 KiB
2Elfogadva0/04ms5184 KiB
3Elfogadva2/24ms5272 KiB
4Elfogadva2/24ms5400 KiB
5Elfogadva2/24ms5448 KiB
6Elfogadva2/24ms5576 KiB
7Hibás válasz0/34ms5680 KiB
8Elfogadva1/117ms5888 KiB
9Elfogadva1/120ms6252 KiB
10Elfogadva1/123ms6124 KiB
11Elfogadva1/129ms6132 KiB
12Elfogadva1/128ms6256 KiB
13Elfogadva1/161ms6340 KiB
14Elfogadva2/268ms6488 KiB
15Elfogadva2/229ms6492 KiB
16Időlimit túllépés0/2470ms4004 KiB
17Időlimit túllépés0/2458ms4228 KiB
18Időlimit túllépés0/2481ms4332 KiB
19Időlimit túllépés0/3458ms4496 KiB
20Időlimit túllépés0/2467ms4604 KiB
21Időlimit túllépés0/2453ms4524 KiB
22Időlimit túllépés0/2472ms4576 KiB
23Időlimit túllépés0/2462ms4428 KiB
24Időlimit túllépés0/2467ms4708 KiB
25Időlimit túllépés0/2469ms4700 KiB
26Időlimit túllépés0/2474ms4804 KiB
27Időlimit túllépés0/2458ms4696 KiB
28Időlimit túllépés0/3458ms4624 KiB
29Időlimit túllépés0/3477ms4700 KiB
30Időlimit túllépés0/3474ms4632 KiB