214932026-01-13 10:39:47ProgramozoRokaSípálya (55 pont)cpp17Elfogadva 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;
}

RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva1/12ms316 KiB
9Elfogadva1/12ms512 KiB
10Elfogadva1/12ms500 KiB
11Elfogadva1/12ms316 KiB
12Elfogadva1/12ms316 KiB
13Elfogadva1/12ms504 KiB
14Elfogadva2/22ms316 KiB
15Elfogadva2/22ms512 KiB
16Elfogadva2/226ms2024 KiB
17Elfogadva2/225ms1848 KiB
18Elfogadva2/224ms2040 KiB
19Elfogadva3/324ms2016 KiB
20Elfogadva2/225ms1852 KiB
21Elfogadva2/225ms2024 KiB
22Elfogadva2/225ms1844 KiB
23Elfogadva2/226ms2040 KiB
24Elfogadva2/227ms2064 KiB
25Elfogadva2/226ms2044 KiB
26Elfogadva2/225ms2052 KiB
27Elfogadva2/225ms1844 KiB
28Elfogadva3/325ms1844 KiB
29Elfogadva3/325ms1844 KiB
30Elfogadva3/325ms2020 KiB