Cod sursa(job #1052724)

Utilizator sateanuAldea Andrei sateanu Data 11 decembrie 2013 19:05:37
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>
#include<deque>
using namespace std;
#define minValue 10000000
deque<int>v[2];
int n,k;
int main()
{
    ifstream f("deque.in");
    ofstream g("deque.out");
    f>>n>>k;
    int x;
    long long s=0;
    for(int i=1;i<=n;i++)
    {
        f>>x;

        while(!v[0].empty()&&x<=v[0].back())
        {
            v[0].pop_back();
            v[1].pop_back();
        }

        v[0].push_back(x);
        v[1].push_back(i);

        if(v[1].front()==i-k)
        {
            v[0].pop_front();
            v[1].pop_front();
        }
        if(i>=k)
            s+=v[0].front();

    }
    g<<s;
    return 0;
}