Cod sursa(job #3352320)

Utilizator robert.barbu27robert barbu robert.barbu27 Data 26 aprilie 2026 16:37:47
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <bits/stdc++.h>
#include <deque>
#include <fstream>
using namespace std;

deque<int> dq;
int v[5000005];
int N, K;
ifstream fin("deque.in");
ofstream fout("deque.out");
int main()
{
    fin >> N >> K;
    for (int i = 1; i <= N; i++)
    {
        fin >> v[i];
    }
    for (int i = 1; i <= K - 1; i++)
    {
        while (!dq.empty() && v[i] <= v[dq.back()])
        {
            dq.pop_back();
        }
        dq.push_back(i);
    }
    long long sum = 0;
    for (int i = K; i <= N; i++)
    {
        while (!dq.empty() && v[i] <= v[dq.back()])
        {
            dq.pop_back();
        }
        dq.push_back(i);
        while (i - dq.front() >= K)
        {
            dq.pop_front();
        }
        sum += v[dq.front()];
    }
    fout << sum;
}