Cod sursa(job #1675081)

Utilizator nicholascantarNicholas David Cantar Gogitidze nicholascantar Data 5 aprilie 2016 08:45:04
Problema Deque Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");

long long n,k,i,s,a[5000001];
int main()
{
    fin>>n>>k;
    deque<long>c;
    for(i=1;i<=n;i++)
    {
        fin>>a[i];
        while(!c.empty()&&a[c.front()]>=a[i])
            c.pop_front();
        c.push_front(i);
        if(c.front()-c.back()>=k) {c.pop_back();}
        if(i>=k) s=s+a[c.back()];


    }
    fout<<s;
    return 0;
}