Cod sursa(job #2615439)

Utilizator MocalinnoMoca Andrei Catalin Mocalinno Data 14 mai 2020 16:48:14
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>
#define DAU  ios::sync_with_stdio(false); fin.tie(0); fout.tie(0);
#define PLEC fin.close(); fout.close(); return 0;
using namespace std;
const string problem("deque");
ifstream fin(problem + ".in");
ofstream fout(problem + ".out");
deque<pair<int, int>> dq;
int n, k, x;
long long res;
int main() {
    DAU
    fin >> n >> k;
    for (int i = 1; i <= n; ++i) {
        fin >> x;
        while (!dq.empty() && i - dq.back().second >= k)
            dq.pop_back();
        while (!dq.empty() && x < dq.front().first)
            dq.pop_front();
        dq.emplace_front(x, i);
        if (i >= k)
            res += dq.back().first;
    }
    fout << res;
    PLEC
}