Cod sursa(job #2304563)

Utilizator RaduIonescuRadu Ionescu RaduIonescu Data 18 decembrie 2018 10:40:29
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int QQQ=5000050;

long long k,st,dr,n,v[QQQ],dq[QQQ],s;

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

    for (int i=0;i<n;i++)   in>>v[i];

    st=0,dr=-1;

    for (int i=0;i<n;i++)
    {
        if (st<=dr && dq[st]==i-k) st++;

        while (st<=dr && v[i]<=v[dq[dr]])   dr--;

        dq[++dr]=i;

        if (i>=k-1) s+=v[dq[st]];
    }

    out<<s;

    return 0;
}