Cod sursa(job #2732025)

Utilizator truscalucaLuca Trusca truscaluca Data 28 martie 2021 17:17:59
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>

using namespace std;

const int nMax = 5000005;

int v[nMax], dq[nMax], front = 1, back, n, k;
long long sum;

int main() {
    freopen("deque.in", "r", stdin);
    freopen("deque.out", "w", stdout);

    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    cin >> n >> k;
    for (int i = 0; i < n; i++) {
        cin >> v[i];

        while (front <= back and v[dq[back]] >= v[i]) back--;

        dq[++back] = i;
        if (i >= k-1) {
            sum += v[dq[front]];
        }

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

    cout << sum;
    return 0;
}