Cod sursa(job #2961233)

Utilizator TudorNMnegoita tudor mihai TudorNM Data 5 ianuarie 2023 23:56:43
Problema Deque Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>
#define NMAX 15

using namespace std;

int v[NMAX];

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

    for (int i = 1; i <= n; ++i)
        cin >> v[i];

    long long ans = 0;
    deque<int> dq;
    for (int i = 1; i <= n; ++i) {
        while (!dq.empty() && v[i] <= v[dq.back()])
            dq.pop_back();
        dq.push_back(i);
        while (!dq.empty() && dq.front() <= i - k)
            dq.pop_front();

        if (i >= k)
            ans += v[dq.front()];
    }

    cout << ans << '\n';
    return 0;
}