Cod sursa(job #1069824)

Utilizator Daniel3717Aleca Daniel Adrian Daniel3717 Data 30 decembrie 2013 16:06:44
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
deque <pair <int,int> > deck;
int n,k,i,nr,s;
int main(void)
{
    s=0;
    ifstream f("deque.in");
    ofstream g("deque.out");
    f>>n>>k;
    for (i=1;i<k;i++)
    {
        f>>nr;
        while ((!deck.empty())&&(deck.front().first>nr))
            deck.pop_front();
        deck.push_front(make_pair(nr,i));
    }
    for (i=k;i<=n;i++)
    {
        if (deck.back().second==i-k)
            deck.pop_back();
        f>>nr;
        while ((!deck.empty())&&(deck.front().first>nr))
            deck.pop_front();
        deck.push_front(make_pair(nr,i));
        s+=deck.back().first;
    }
    g<<s;
    return 0;
}