Cod sursa(job #1221887)

Utilizator PlatenitesVoicu Cristian Platenites Data 21 august 2014 17:20:59
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>

using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");
int v[5000001],deq[5000001],Front,bacK,n,k;
long long sol;
int main()
{
    f>>n>>k;
    for(int i=1;i<=n;i++)
        f>>v[i];
    Front=1;bacK=0;
    for(int i=1;i<=n;i++)
    {
        while(Front<=bacK && v[i]<=v[deq[bacK]])
            bacK--;
        deq[++bacK]=i;
        if(deq[Front]==i-k)
          Front++;
        if(i>=k)
            sol=sol+v[deq[Front]];
    }
    g<<sol;
    return 0;
}