Cod sursa(job #2973367)

Utilizator RobertlelRobert Robertlel Data 31 ianuarie 2023 20:38:01
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <stack>
#include <deque>
using namespace std;

ifstream f ("deque.in");
ofstream g ("deque.out");

deque < int >d;

int n , x , i , k , v[5000005] , s;

int main()
{
    f >> n >> k;
    for (int i = 1 ; i <= n ; i++)
        f >> v[i];

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