Cod sursa(job #2741058)

Utilizator Uriesu_IuliusUriesu Iulius Uriesu_Iulius Data 15 aprilie 2021 14:02:14
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <bits/stdc++.h>
#define ll long long

using namespace std;

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

int n, k;
int v[5000001];
deque<int> Q;

int main()
{
    int i;
    ll int ans=0;
    fin >> n >> k;
    for(i=1; i<=n; i++)
        fin >> v[i];
    for(i=1; i<=n; i++)
    {
        while(!Q.empty() && v[i]<=v[Q.back()])
            Q.pop_back();
        Q.push_back(i);
        if(Q.front()<=i-k)
            Q.pop_front();
        if(i>=k)
            ans+=v[Q.front()];
    }
    fout << ans;
    return 0;
}