Cod sursa(job #1410166)

Utilizator zpaePopescu Andreea zpae Data 30 martie 2015 21:48:15
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <fstream>
#include <deque>
using namespace std;
#define N 100001
#define MAX 5000005
ifstream in ("deque.in");
ofstream out ("deque.out");
deque <int> v,p;

int main()
{
    long long n,k,x,i,s;
    in>>n>>k;
    for(i=1;i<=k;i++)
    {
        in>>x;
        while(!v.empty()&&x<v.back())
        {
            v.pop_back();
            p.pop_back();
        }
        v.push_back(x);
        p.push_back(i);
    }
    s=v.front();
    for(i=k+1;i<=n;i++)
    {
        in>>x;
        while(!v.empty()&&x<v.back())
        {
            v.pop_back();
            p.pop_back();
        }
        v.push_back(x);
        p.push_back(i);
        if(p.front()<=i-k)
        {
            v.pop_front();
            p.pop_front();
        }
        s+=v.front();
    }
    out<<s<<'\n';
}