Cod sursa(job #2730697)

Utilizator bianca_voicuBianca Voicu bianca_voicu Data 26 martie 2021 18:22:27
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>

using namespace std;

#define NMAX 5000001
ifstream f("deque.in");
ofstream o("deque.out");

int v[NMAX], deq[NMAX];

int main() {
    int n, k, start = 0, end = -1, i;
    long long suma = 0;
    f >> n >> k;

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

    for (i = 0; i < n; i++) {
        while (start <= end && v[i] <= v[deq[end]])
            end--;

        end++;
        deq[end] = i;

        if (deq[start] == i - k)
            start++;
        if (i >= k - 1)
            suma += v[deq[start]];
    }

    o << suma;
    f.close();
    o.close();
    return 0;
}