Cod sursa(job #1630840)

Utilizator vancea.catalincatalin vancea.catalin Data 5 martie 2016 11:37:01
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<iostream>
#include<fstream>
#include<deque>
using namespace std;
fstream fin("deque.in",ios::in),fout("deque.out",ios::out);
deque<pair<int,int> > deq;
int main()
{
    long long n,k,i,s=0,a;
    fin>>n>>k;
    for(i=1;i<=k;i++)
    {
        fin>>a;
        while(!deq.empty() && deq.back().first>=a) deq.pop_back();
        deq.push_back(make_pair(a,i));
    }
    s+=deq.front().first;
    for(i=k+1;i<=n;i++)
    {
        fin>>a;
        while(!deq.empty() && deq.back().first>=a) deq.pop_back();
        while(!deq.empty() && deq.front().second<=i-k) deq.pop_front();
        deq.push_back(make_pair(a,i));
        s+=deq.front().first;
    }
    fout<<s;
}