Cod sursa(job #3292236)

Utilizator iustinola16Olariu Iustin iustinola16 Data 7 aprilie 2025 17:47:13
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <fstream>
#include <deque>

using namespace std;

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

int v[5000005];

int main()
{

    int N, K;

    f >> N >> K;


    for (int i = 1; i <= N; i++)
    {

        f >> v[i];

    }

    long long S = 0;

    deque <int> dq;

    dq.push_back(0);

    for (int i = 1; i <= N; i++)
    {

        while (!dq.empty() && v[dq.back()] >= v[i])
        {

            dq.pop_back();

        }

        dq.push_back(i);

        if (dq.front() == i - K) {

            dq.pop_front();

        }

        if (i >= K) {

            S  += v[dq.front()];
        }

    }

    g << S;

    return 0;

}