Cod sursa(job #2375424)

Utilizator baltoi.teodorTeodor Baltoi baltoi.teodor Data 8 martie 2019 09:15:55
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <bits/stdc++.h>
#define NMAX 5000005
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
long long deq[NMAX];
long long A[NMAX];
long long Front,Back;
int main()
{
    long long N,K,i,S=0;
    fin>>N>>K;
    for(i=1;i<=N;++i)
    fin>>A[i];
    Front=1;
    Back=0;
    for(i=1;i<=N;++i)
    {
        while(Front<=Back && A[i]<=A[deq[Back]]) Back--;
        deq[++Back]=i;
        if(deq[Front]==i-K) Front++;
        if(i>=K) S+=A[deq[Front]];
    }
    fout<<S<<"\n";
    return 0;
}