Cod sursa(job #3295855)

Utilizator David_PoterasuDavid Poterasu David_Poterasu Data 9 mai 2025 09:59:56
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>

using namespace std;

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

int v[5000005];

int main()
{
    int n, k;
    long long ans = 0;
    in >> n >> k;
    for(int i = 1; i <= n; i++)
        in >> v[i];

    deque <int> d;
    d.push_back(1);
    for(int i = 2; i < k; i++){
        while(!d.empty() && v[i] < v[d.back()])
            d.pop_back();
        d.push_back(i);
    }

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