Cod sursa(job #2889169)

Utilizator ggutaGuta George gguta Data 12 aprilie 2022 13:16:48
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");

int main() {
    int n, k, front = 0, back = -1;
    long long sum = 0;

    f >> n >> k;
    int v[n + 1], deq[n];

    for (int i = 0; i < n; i++)
        f >> v[i];
    f.close();

    for (int i = 0; i < n; i++) {
        while (front <= back && v[i] < v[deq[back]])
            back--;
        back++;
        deq[back] = i;
        if (deq[front] == i - k)
            front++;
        if (i >= k - 1)
            sum += v[deq[front]];

    }

    g << sum;
    g.close();
    return 0;

}