Cod sursa(job #1225621)

Utilizator george_stelianChichirim George george_stelian Data 3 septembrie 2014 03:40:25
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <cstdio>

using namespace std;

int v[6000000],v1[6000000],n,k,i,x,st,dr;
long long s;

int main()
{
    freopen("deque.in", "r", stdin);
    freopen("deque.out", "w", stdout);
    scanf("%d%d",&n,&k);
    st=1;
    for(i=1;i<=n;i++)
    {
        scanf("%d",&x);
        while(st<=dr)
            if(v[dr]>=x) dr--;
            else break;
        v[++dr]=x;
        v1[dr]=i;
        if(i>=k)
        {
            if(v1[st]==i-k) st++;
            s+=v[st];
        }
    }
    printf("%lld",s);
    return 0;
}