Cod sursa(job #1906961)

Utilizator osiaccrCristian Osiac osiaccr Data 6 martie 2017 17:12:10
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#include <deque>

using namespace std;

ifstream fin ("deque.in");
ofstream fout ("deque.out");

deque <int> d;

long long n, k, s, v[5000001];

int main () {
    fin >> n >> k;
    for (int i = 1; i <= n; i++) {
        fin >> v[i];
    }
    for (int i = 1; i <= n; i++) {
        while (!d.empty () && v[i] <= v[d[d.size () - 1]])
            d.pop_back ();
        d.push_back (i);
        if (d[0] == i - k)
            d.pop_front ();
        if (i >= k)
            s += v[d[0]];
    }
    fout << s;
}