Cod sursa(job #2974114)

Utilizator radustefanescu2006@gmail.comRadu Stefanescu [email protected] Data 3 februarie 2023 10:20:50
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
#include <deque>

using namespace std;

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

deque < int > d;
int a[5000005], n, k, s;

int main()
{
    int i;
    fin >> n >> k;
    for(i = 1; i <= n; i++)
    {
        fin >> a[i];
    }
    for(i = 1; i <= n; i++)
    {
        while(!d.empty() && a[ d.back() ] >= a[i])
        {
            d.pop_back();
        }
        d.push_back(i);
        if(d.front() <= i - k)
        {
            d.pop_front();
        }
        if(i >= k)
        {
            s += a[ d.front() ];
        }
    }
    fout << s;

    return 0;
}