Cod sursa(job #3127312)

Utilizator dandragosDan Dragos dandragos Data 7 mai 2023 14:32:16
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <deque>
using namespace std;

const int MAXN = 5000005;

int A[MAXN];

int main() {
    int N, K;
    cin >> N >> K;
    for (int i = 0; i < N; i++) {
        cin >> A[i];
    }

    deque<int> Q;
    long long ans = 0;
    for (int i = 0; i < N; i++) {
        while (!Q.empty() && A[Q.back()] >= A[i]) {
            Q.pop_back();
        }
        Q.push_back(i);

        while (!Q.empty() && Q.front() <= i - K) {
            Q.pop_front();
        }

        if (i >= K - 1) {
            ans += A[Q.front()];
        }
    }

    cout << ans << endl;
    return 0;
}