Cod sursa(job #1094024)

Utilizator vyrtusRadu Criuleni vyrtus Data 28 ianuarie 2014 20:40:38
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
#include <deque>
#include <iostream>

using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");

long sum,n,k;
deque <long> coada;
long a[5000001];

int main()
{
    f >> n >> k;
        for (int i=1;i<=n;i++)
            f >> a[i];
    for (int i=1;i<=n;i++)
    {
        while (!coada.empty() && a[i]<a[coada.back()])
            coada.pop_back();
       coada.push_back(i);

     if (coada.front() == (i-k)) coada.pop_front();

     if (i >= k) sum += a[coada.front()];
    }

 g << sum ;

    return 0;
}