Cod sursa(job #3355766)

Utilizator PedroLuisNegoita Luis PedroLuis Data 25 mai 2026 23:13:37
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>

using namespace std;

const int ma = 5000005;
int a[ma];
int dq[ma];

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

    int n, k;
    fin >> n >> k;

    for (int i = 1; i <= n; ++i) {
        fin >> a[i];
    }

    long long suma_minime = 0;
    int st = 1, dr = 0;

    for (int i = 1; i <= n; ++i) {
        while (st <= dr && a[dq[dr]] >= a[i]) {
            dr--;
        }

        dr++;
        dq[dr] = i;

        if (dq[st] <= i - k) {
            st++;
        }

        if (i >= k) {
            suma_minime += a[dq[st]];
        }
    }

    fout << suma_minime << "\n";

    return 0;
}