Cod sursa(job #2375423)

Utilizator baltoi.teodorTeodor Baltoi baltoi.teodor Data 8 martie 2019 09:14:38
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <bits/stdc++.h>
#define NMAX 5000005
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int deq[NMAX];
int A[NMAX];
int Front,Back;
int main()
{
    int 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;
}