Cod sursa(job #2853501)

Utilizator daria0123daria ghitescu daria0123 Data 20 februarie 2022 12:51:43
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <algorithm>
#include <deque>
#include <cstdio>

using namespace std;

int n, k, v[5000005];
long long s=0;
deque<int> q;


int main()
{
    freopen("deque.in", "r", stdin);
    freopen("deque.out", "w", stdout);

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