Cod sursa(job #3352574)

Utilizator indianu_talpa_iuteTisca Catalin indianu_talpa_iute Data 29 aprilie 2026 00:05:43
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
// https://www.infoarena.ro/problema/deque

#include <fstream>
#define MAXSZ 5000001

using namespace std;

ifstream fin("deque.in");
ofstream fout("deque.out");

int a[MAXSZ], dq[MAXSZ];

int main() {
    int n, k;
    fin >> n >> k;

    for (int i = 0; i < n; i++)
        fin >> a[i];

    long long sum = 0;
    int head = 0, tail = -1;
    for (int i = 0; i < n; i++) {
        while (head <= tail && dq[head] <= i - k)
            head++;
        while (head <= tail && a[dq[tail]] >= a[i])
            tail--;
        dq[++tail] = i;
        if (i >= k - 1)
            sum += a[dq[head]];
    }
    fout << sum << '\n';
    return 0;
}