Cod sursa(job #1044585)

Utilizator SorinaSmeureanuSorina Smeureanu SorinaSmeureanu Data 30 noiembrie 2013 01:52:25
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<iostream>
#include<fstream>
#include<deque>
using namespace std;
deque<pair<int,int> >my_deq;
ifstream f("deque.in");
ofstream g("deque.out");
int n, k;
int main()
{
    int i, s=0, x;
    f>>n;
    f>>k;
    f>>x;
    my_deq.push_back(make_pair(x, 1));
    for(i=2;i<=n;i++)
    {
        f>>x;
        while((x<=my_deq.back().first)&&(my_deq.size()))
            my_deq.pop_back();
        my_deq.push_back(make_pair(x, i));
        if(my_deq.front().second == i-k)
            my_deq.pop_front();
        if(i>=k)
        {
            s+=my_deq.front().first;
        }
    }
    g<<s;
}