Cod sursa(job #1537987)

Utilizator Harsan_SabinHarsan Sabin Harsan_Sabin Data 28 noiembrie 2015 12:54:14
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>
#include <deque>
#define a first
#define b second
#define pr pair<int,int>

using namespace std;

ifstream cin("deque.in");
ofstream cout("deque.out");

int n,k,x;
long long r;
deque<pr> v;

int main()
{
    cin>>n>>k;
    cin>>x;

    v.push_back(make_pair(x,1));
    for(int i=2;i<=k;++i)
    {
        cin>>x;
        while(v.back().a>=x)
            v.pop_back();
        v.push_back(make_pair(x,i));
    }

    for(int i=k+1;i<=n;++i)
    {
        r+=v.front().a;
        if(v.front().b==i-k)
            v.pop_front();
        cin>>x;
        while(v.back().a>=x&&!v.empty())
            v.pop_back();
        v.push_back(make_pair(x,i));
    }
    r+=v.front().a;

    cout<<r;
    return 0;
}