Cod sursa(job #2107546)

Utilizator alex2209alexPavel Alexandru alex2209alex Data 17 ianuarie 2018 15:18:53
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <bits/stdc++.h>
#include <deque>
#define mp make_pair
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
deque<pair<long long,long long> >dq;
long long  n,k,i,a;
long long s;
int main()
{
    f>>n>>k;
    for(i=1;i<=n;i++)
    {
        f>>a;
        pair<long long,long long> x=mp(a,i);
        while(dq.front().second<=i-k && !dq.empty())
        {
            dq.pop_front();
        }
        while(dq.back().first>=a && !dq.empty())
        {
            dq.pop_back();
        }
        dq.push_back(x);
        if(i>=k)
        {
            s=s+dq.front().first;
        }
    }
    g<<s<<'\n';
    return 0;
}