Cod sursa(job #2420079)

Utilizator AndreiDeltaBalanici Andrei Daniel AndreiDelta Data 10 mai 2019 15:56:24
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <bits/stdc++.h>
#define Dim 5000009
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
typedef long long ll;
typedef pair< ll,int > pi;
ll N,K,sum,a;

deque < pi > dq;

int main()
{
    f>>N>>K;
    for(int i=1;i<=N;i++)
    {
        f>>a;
        while(!dq.empty()&&a<=dq.back().first) dq.pop_back();
        dq.push_back({a,i});

        if(dq.front().second+K<=i) dq.pop_front();
        if(i>=K)
        sum+=dq.front().first;
    }
    g<<sum;
    return 0;
}