Cod sursa(job #1975767)

Utilizator BeatriceBBeatrice Roxana BeatriceB Data 1 mai 2017 21:45:51
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>
#define maxn 5000005
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int A[maxn], Deque[maxn];
int N, K, i;
int Front=1, Back;
long long Sum;

int main()
{
    f>>N>>K;
    for(i=1; i<=N; i++)
        f>>A[i];
    for(i=1; i<=N; i++)
    {
        while(Back>=Front && A[i]<=A[Deque[Back]])
            Back--;
        Deque[++Back]=i;
        if(Deque[Front]==i-K)
           Front++;
        if(i>=K)
            Sum+=A[Deque[Front]];
        //cout<<Sum<<' ';
    }

    g<<Sum<<'\n';
    f.close();
    g.close();
    return 0;
}