Cod sursa(job #2634357)

Utilizator mex7Alexandru Valentin mex7 Data 10 iulie 2020 18:07:14
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <bits/stdc++.h>
#define ll long long
using namespace std;

ifstream fin("deque.in");
ofstream fout("deque.out");
deque <ll> minimum;
map <ll, ll> freq;
int result;

int main() {
    ll n, k, x;

    fin >> n >> k;
    for (int i = 1; i <= n; i++) {
        fin >> x;

        while (i > 1 && x < minimum.back() && !minimum.empty())
            minimum.pop_back();
        minimum.push_back(x);

        if (i >= k)
            result += minimum.front();

        if (++freq[minimum.front()] == k) {
            freq[minimum.front()] = 0;
            minimum.pop_front();
        }

    }

    fout << result;

    return 0;
}