Cod sursa(job #2625731)

Utilizator SirbuSirbu Ioan Sirbu Data 6 iunie 2020 09:43:45
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <bits/stdc++.h>

using namespace std;

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

int v[5000005], Deque[5000005];

int main (){

    int N, K;
    fin >> N >> K;
    for (int i = 1; i <= N; ++i)
        fin >> v[i];

    long long sum = 0;
    int front = 1, back = 0;
    for (int i = 1; i <= N; ++i) {
        while (front <= back && v[i] <= v[Deque[back]])
            back--;
        Deque[++back] = i;
        if (Deque[front] == i-K)
            front++;
        if (i >= K)
            sum = sum + v[Deque[front]];
    }
    fout << sum;

}