Cod sursa(job #1700560)

Utilizator vancea.catalincatalin vancea.catalin Data 10 mai 2016 19:58:57
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<iostream>
#include<fstream>
#include<deque>
#define LL long long
using namespace std;
fstream fin("deque.in",ios::in),fout("deque.out",ios::out);
deque<pair<LL,LL>> deq;
int main()
{
    LL i,k,n,a,b,s=0;
    fin>>n>>k;
    for(i=1;i<=n;i++)
    {
        fin>>a;
        while(!deq.empty() && deq.front().first>=a) deq.pop_front();
        if(!deq.empty() && deq.back().second<=i-k) deq.pop_back();
        deq.push_front(make_pair(a,i));
        if(i>=k)
        {
            s+=deq.back().first;
        }
    }
    fout<<s<<"\n";
}