Cod sursa(job #1412560)

Utilizator crysstyanIacob Paul Cristian crysstyan Data 1 aprilie 2015 12:50:19
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
#include <deque>
#define NMAX 5000002

using namespace std;

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

int i, n, v[NMAX], k;
long long suma=0;
deque <int> d;

int main()
{
    f>>n>>k;
    for (i=1; i<=n; ++i)
    f>>v[i];

    for (i=1; i<=n; ++i)
    {
        while (!d.empty() && v[i]<v[d.back()])
        d.pop_back();
        d.push_back(i);

        if (i-d.front()==k) d.pop_front();
        if (i>=k) suma+=v[d.front()];
    }
    g<<suma<<'\n';
    return 0;
}