Cod sursa(job #839220)

Utilizator sleepaholicNeculaescu Theodor sleepaholic Data 21 decembrie 2012 15:23:49
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>
using namespace std;
int n, k, v[5000001], dq[5000001], p=1, u=0;
long long s=0;
int main()
{
    ifstream f("deque.in");
    ofstream g("deque.out");
    int i;

    f>>n>>k;
    for(i=1;i<=n;++i)
        f>>v[i];

    for(i=1;i<=n;++i)
    {
        while(p<=u&&v[i]<=v[dq[u]])
            --u;
        dq[++u]=i;
        if(dq[p]<=i-k)
            ++p;
        if(i>=k)
            s+=v[dq[p]];
    }

    g<<s;

    return 0;
}