Cod sursa(job #2570302)

Utilizator AlexPascu007Pascu Ionut Alexandru AlexPascu007 Data 4 martie 2020 16:01:11
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int n,k,i,v[5000010];
long long sol;
deque< pair<int,int> > q;
int main() {
    fin>>n>>k;
    for (i=1;i<=n;i++)
        fin>>v[i];
    for (i=1;i<=n;i++) {
        while (!q.empty()&&v[i]<q.back().first)
            q.pop_back();
        q.push_back({v[i],i});
        while (q.size()>k||(i-q.front().second+1>k))
            q.pop_front();
        if (i>=k)
            sol+=1LL*q.front().first;
    }
    fout<<sol;
    return 0;
}