Cod sursa(job #2305825)

Utilizator cezarus30cezarus30 cezarus30 Data 21 decembrie 2018 10:25:44
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>

using namespace std;

const int N=5000001;


int dq[N],v[N];


int main()
{
    int n,k,i,st,dr;

    long long s=0;

    cin>>n>>k;

    for(i=0;i<n;i++)
    {
        cin>>v[i];
    }
    st=0;dr=-1;
    for(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]];

        }
        //cout<<v[dq[st]]<< " ";
    }
    cout << s;
    return 0;
}