Cod sursa(job #2643739)

Utilizator robeert.77Chirica Robert robeert.77 Data 21 august 2020 11:17:43
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
#include <deque>
#include <utility>
using namespace std;

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

int main() {
    int n, k, el;
    fin >> n >> k;

    deque<pair<int, int> > q;
    long long sum = 0;
    for (int i = 1; i <= n; i++) {
        fin >> el;
        while (!q.empty() && q.back().first >= el)
            q.pop_back();
        q.push_back(make_pair (el, i));
        while (q.front().second <= i - k)
            q.pop_front();
        if (i >= k)
            sum += q.front().first;
    }

    fout << "\n" << sum;
    return 0;
}