Cod sursa(job #2574205)

Utilizator PatriciaCretoiuCretoiu Patricia PatriciaCretoiu Data 5 martie 2020 20:55:56
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda r3capitusulare Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;

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

#define ll long long
int n, k, i;
deque < pair <ll, ll> > dq;

int main()
{
    in >> n >> k;

    ll ans = 0;

    for(i = 1; i <= n; i++)
    {
        ll x;

        in >> x;

        if(!dq.empty())
            while(x <= dq.back().first)
            {
                dq.pop_back();
                if(dq.empty()) break;
            }

        dq.push_back({x,i});

        if(i >= k)
            ans += dq.front().first;

        if(dq.front().second + k - 1 == i)
            dq.pop_front();
    }

    out << ans;

    return 0;
}