Cod sursa(job #2558143)

Utilizator Robys01Robert Sorete Robys01 Data 26 februarie 2020 12:38:22
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("deque.in");
ofstream fout("deque.out");

int n, k, a[5000001];
int coada[5000001], vf, last = 1;
int minim[5000001];
long long s;

int main(){

    fin>>n>>k;
    for(int i=1; i<=n; i++)
        fin>>a[i];

    for(int i=1; i<=n; i++)
    {
        if(coada[last] <= i-k)
            last++;

        while(last <= vf and a[ coada[vf] ] >= a[i])
            vf--;

        coada[++vf] = i;
        minim[i] = a[ coada[last] ];

        if(i>=k)
            s+= a[ coada[last] ];
    }

    fout<<s;

    return 0;
}