126682024-12-27 19:59:56BucsMateSípálya (55 pont)cpp17Wrong answer 7/5579ms2320 KiB
#include <iostream>
#include <deque>

using namespace std;

struct Csucs
{
    int magassag;
    int index;
};

int main()
{
    int N, K;
    cin >> N >> K;
    int csucsok[200001];
    int reszosszeg[200001] = {};
    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;
}
SubtaskSumTestVerdictTimeMemory
base7/55
1Accepted0/02ms1080 KiB
2Wrong answer0/02ms1084 KiB
3Wrong answer0/22ms1080 KiB
4Wrong answer0/22ms1080 KiB
5Wrong answer0/22ms1080 KiB
6Wrong answer0/22ms1080 KiB
7Wrong answer0/32ms1080 KiB
8Accepted1/14ms1080 KiB
9Accepted1/14ms1080 KiB
10Accepted1/14ms1080 KiB
11Accepted1/14ms1244 KiB
12Accepted1/14ms1084 KiB
13Wrong answer0/14ms1200 KiB
14Wrong answer0/24ms1192 KiB
15Accepted2/24ms1080 KiB
16Wrong answer0/272ms1824 KiB
17Wrong answer0/272ms2320 KiB
18Wrong answer0/272ms2316 KiB
19Wrong answer0/374ms2036 KiB
20Wrong answer0/275ms1900 KiB
21Wrong answer0/272ms1996 KiB
22Wrong answer0/272ms1908 KiB
23Wrong answer0/274ms1964 KiB
24Wrong answer0/279ms1848 KiB
25Wrong answer0/274ms1904 KiB
26Wrong answer0/272ms2084 KiB
27Wrong answer0/274ms2104 KiB
28Wrong answer0/374ms2156 KiB
29Wrong answer0/372ms2064 KiB
30Wrong answer0/374ms2104 KiB