Cod sursa(job #2889595)

Utilizator Valentin06Maftei Valentin Valentin06 Data 12 aprilie 2022 23:12:36
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <bits/stdc++.h>
#include <fstream>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
#define nmax 5000010

int elemente[nmax], dq[nmax];

int main() {
    int n, k, i, front = 1, back = 0 ;
    long long suma = 0;
    in >> n >> k;
    for (i = 1; i <= n; i++)
        in >> elemente[i];
    for (i = 1; i <= n; i++) {
        while (back >= front && elemente[dq[back]] >= elemente[i])
            back--;
        dq[++back] = i;
        if (i >= k) {
            while (back >= front && dq[front] <= i - k)
                front++;
            suma = suma + elemente[dq[front]];
        }
    }
    out << suma;
    return 0;
}