126712024-12-27 20:18:34BucsMateSípálya (55 pont)cpp17Hibás válasz 0/553ms568 KiB
#include <iostream>
#include <deque>

using namespace std;

struct Csucs
{
    long long magassag;
    int index;
};

int main()
{
    int N, K;
    cin >> N >> K;
    long long csucsok[2001];
    long long reszosszeg[2001] = {};
    for(int i = 1; i <= N; i++){
        cin >> csucsok[i];
        reszosszeg[i] = reszosszeg[i-1] + csucsok[i];
    }

    deque<Csucs> d;
    for(int i = 1; i <= K; i++){
        while(!d.empty() && d.front().magassag + d.front().index <= csucsok[i] + i){
            d.pop_back();
        }
        d.push_back({csucsok[i], i});
    }
    long long curr, magassag;
    magassag = d.front().magassag + d.front().index - 1;
    curr = (2*magassag-K+1)*K/2;
    long long res = curr - reszosszeg[K];

    for(int i = K+1; i <= N; i++){

        if(d.front().index == i - K){
            d.pop_front();
        }
        while(!d.empty() && d.front().magassag + d.front().index <= csucsok[i] + i){
            d.pop_front();
        }
        d.push_back({csucsok[i], i});
        magassag = d.front().magassag + (d.front().index - i + K - 1);
        curr = (2*magassag-K+1)*K/2;

        res = min(res, curr - (reszosszeg[i] - reszosszeg[i-K]));
    }
    cout << res << endl;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/55
1Elfogadva0/01ms500 KiB
2Hibás válasz0/01ms320 KiB
3Hibás válasz0/21ms320 KiB
4Hibás válasz0/22ms320 KiB
5Hibás válasz0/21ms320 KiB
6Hibás válasz0/21ms320 KiB
7Hibás válasz0/31ms336 KiB
8Futási hiba0/12ms436 KiB
9Futási hiba0/12ms320 KiB
10Futási hiba0/12ms320 KiB
11Futási hiba0/12ms340 KiB
12Futási hiba0/12ms320 KiB
13Futási hiba0/12ms320 KiB
14Futási hiba0/22ms320 KiB
15Futási hiba0/22ms320 KiB
16Futási hiba0/22ms508 KiB
17Futási hiba0/22ms320 KiB
18Futási hiba0/22ms432 KiB
19Futási hiba0/32ms320 KiB
20Futási hiba0/22ms512 KiB
21Futási hiba0/22ms560 KiB
22Futási hiba0/22ms420 KiB
23Futási hiba0/22ms568 KiB
24Futási hiba0/23ms320 KiB
25Futási hiba0/23ms320 KiB
26Futási hiba0/23ms320 KiB
27Futási hiba0/22ms320 KiB
28Futási hiba0/32ms320 KiB
29Futási hiba0/32ms320 KiB
30Futási hiba0/31ms568 KiB