Cod sursa(job #2719209)

Utilizator CaptnBananaPetcu Tudor CaptnBanana Data 9 martie 2021 17:58:16
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
/*
    https://infoarena.ro/problema/deque
*/

#include <bits/stdc++.h>

using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");

int main(){
    int n, k, x;
    long long s = 0;

    f >> n >> k;
    int v[n];
    deque<int> dq;
    for(int i = 0; i < n; i++)
        f >> v[i];

    for(int i = 0; i < n; i++){
        if(!dq.empty() && dq.front() == i - k)
            dq.pop_front();

        while(!dq.empty() && v[i] <= v[dq.back()])
            dq.pop_back();

        dq.push_back(i);
        if(i >= k - 1)
            s += v[dq.front()];
    }

    g << s;
}