Cod sursa(job #2121688)

Utilizator FunnyStockyMihnea Andreescu FunnyStocky Data 4 februarie 2018 09:48:12
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
const int nmax=5000000;
int n,k,v[nmax+5];
int deq[nmax+5],st=1,dr=0;
long long ans=0;
int main()
{
    cin>>n>>k;
    for(int i=1;i<=n;i++)
    {
        cin>>v[i];
        while(st<=dr and v[i]<=v[deq[dr]])
            dr--;
        if(st<=dr and deq[st]==i-k)
            st++;
        deq[++dr]=i;
        if(i>=k)
            ans+=v[deq[st]];
    }
    cout<<ans;
    return 0;
}