Cod sursa(job #2793757)

Utilizator Andrei_Tud1Andrei Tudorache Andrei_Tud1 Data 3 noiembrie 2021 23:07:03
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("deque.in");
ofstream fout("deque.out");
long deque[5000001], a[5000001];

int main()
{
    long n, i, k, s = 0;
    fin >> n >> k;

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

    int front = 1; int back = 0;
    for(i = 1; i <= n; i++)
    {
        while(a[i] <= a[deque[back]] && front <= back)
            back--;

        deque[++back] = i;

        if(deque[front] <= i - k)
            front++;

        if(i >= k)
            s = s + a[deque[front]];
    }
    fout << s;
    return 0;
}