Cod sursa(job #1779352)

Utilizator iAnduAlexandru Banu iAndu Data 15 octombrie 2016 10:23:08
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <fstream>
#include <deque>
using namespace std;

int main() {
    int x, n, k, tick, i;
    long long sum = 0;
    deque<int> deq;

    ifstream in("deque.in");
    in >> n >> k;
    for (i = 1; i <= k; i++) {
        in >> x;
        while (!deq.empty() && x < deq.back()) {
            deq.pop_back();
        }
        deq.push_back(x);
    }
    tick = k;
    sum += deq.front();
    while (in >> x) {
        if (tick == k) {
            deq.pop_front();
            tick = 1;
        }
        tick++;
        while (!deq.empty() && x < deq.back()) {
            deq.pop_back();
            tick--;
        }
        deq.push_back(x);
        sum += deq.front();
    }
    in.close();

    ofstream out("deque.out");
    out << sum << '\n';
    out.close();

    return 0;
}