214932026-01-13 10:39:47ProgramozoRokaSípálya (55 pont)cpp17Accepted 55/5527ms2064 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n,k;
    cin>>n>>k;
    vector<long long> csucs(n);
    deque<int> sorrend;


    long long int osszeg=0;
    for(int i=0;i<k;++i)
    {
        cin>>csucs[i];
        csucs[i]+=i;
        osszeg+=csucs[i];
        while(!sorrend.empty() and csucs[i]>csucs[sorrend.back()] ) sorrend.pop_back();
        sorrend.push_back(i);
    }
    long long int minimal=csucs[sorrend.front()]*k-osszeg;
    for(int i=0,j=k;j<n;++i,++j)
    {
        cin>>csucs[j];
        csucs[j]+=j;
        osszeg+=csucs[j];
        osszeg-=csucs[i];
        if(i==sorrend.front()) sorrend.pop_front();
        while(!sorrend.empty() and csucs[j]>csucs[sorrend.back()] ) sorrend.pop_back();
        sorrend.push_back(j);
        long long int koltseg=csucs[sorrend.front()]*k-osszeg;
        if(koltseg<minimal)minimal=koltseg;
    }
    cout<<minimal;
    return 0;
}

SubtaskSumTestVerdictTimeMemory
base55/55
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted3/31ms316 KiB
8Accepted1/12ms316 KiB
9Accepted1/12ms512 KiB
10Accepted1/12ms500 KiB
11Accepted1/12ms316 KiB
12Accepted1/12ms316 KiB
13Accepted1/12ms504 KiB
14Accepted2/22ms316 KiB
15Accepted2/22ms512 KiB
16Accepted2/226ms2024 KiB
17Accepted2/225ms1848 KiB
18Accepted2/224ms2040 KiB
19Accepted3/324ms2016 KiB
20Accepted2/225ms1852 KiB
21Accepted2/225ms2024 KiB
22Accepted2/225ms1844 KiB
23Accepted2/226ms2040 KiB
24Accepted2/227ms2064 KiB
25Accepted2/226ms2044 KiB
26Accepted2/225ms2052 KiB
27Accepted2/225ms1844 KiB
28Accepted3/325ms1844 KiB
29Accepted3/325ms1844 KiB
30Accepted3/325ms2020 KiB