Cod sursa(job #2415393)

Utilizator mihneacazCazacu Mihnea mihneacaz Data 25 aprilie 2019 22:10:20
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
#include <deque>

using namespace std;

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

int main()
{
    ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
    int n,k;
    cin>>n>>k;
    deque <pair<int,int>> q;
    long long sol=0;
    for(int i=1; i<=n; ++i){
        int x;
        cin>>x;
        while(!q.empty() && q.back().first>=x)
            q.pop_back();
        q.push_back({x,i});
        if(q.front().second<=i-k)
            q.pop_front();
        if(i>=k)
            sol+=1LL*q.front().first;
    }
    cout<<sol<<'\n';
    return 0;
}