Cod sursa(job #2634369)

Utilizator mex7Alexandru Valentin mex7 Data 10 iulie 2020 18:36:02
Problema Deque Scor 15
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <bits/stdc++.h>
#define ll long long
using namespace std;
 
ifstream fin("deque.in");
ofstream fout("deque.out");
deque <int> minimum;
map <int, int> freq;
ll result;
 
int main() {
    int n, k, x;
 
    fin >> n >> k;
    for (int i = 1; i <= n; i++) {
        fin >> x;
 
        while (!minimum.empty() && x < minimum.back())
            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;
}