Cod sursa(job #2876657)

Utilizator a.dulumanDuluman Andrada-Georgiana a.duluman Data 23 martie 2022 13:22:48
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>
#include <deque>
#define N 5000001

using namespace std;

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

deque <int> d;
int x[N];

int main()
{
    int n, k, i, s = 0;
    fin >> n >> k;
    
    for(i = 1; i <= n; i++)
        fin >> x[i];

    for(i = 1; i <= n; i++)
    {
        while(d.empty() == 0 && x[d.back()] >= x[i])
            d.pop_back();
        d.push_back(i);
        if(i >= k)
        {
            s += x[d.front()];
            if(d.front() == i - k + 1)
                d.pop_front();
        }  
    }
    fout << s;
    return 0;
}