Cod sursa(job #2674394)

Utilizator gargantuanRares Oprea gargantuan Data 19 noiembrie 2020 00:59:57
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#include <deque>

using namespace std;

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

deque < long long > d;
deque < long long > poz;

int main()
{
    long long n,k,x,i,sum=0;
    cin>>n>>k;
    for(i=1; i<=n; i++)
    {
        cin>>x;
        while(x<=d.front()&&d.size()>0)
        {
            d.pop_front();
            poz.pop_front();
        }
        d.push_front(x);
        poz.push_front(i);
        if(i>=k)
            sum=sum+d.back();
        if(poz.back()==i-k+1)
        {
            d.pop_back();
            poz.pop_back();
        }
    }
    cout<<sum;
    return 0;
}