Cod sursa(job #2774469)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 11 septembrie 2021 18:08:04
Problema Deque Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include<stdio.h>
#define N 5000001
int v[N],d[N],p=1,u,i,n,k;
long long s;
int main()
{
    freopen("deque.in","r",stdin),freopen("deque.out","w",stdout),scanf("%d%d",&n,&k);
    for(i=1;i<=n;++i)
        scanf("%d",v+i);
    for(i=1;i<k;++i) {
        for(;p<=u&&v[i]<=v[d[u]];--u);
        d[++u]=i;
    }
    for(i=k;i<=n;++i) {
        for(;p<=u&&v[i]<=v[d[u]];--u);
        d[++u]=i;
        if(d[p]==i-k)
            ++p;
        s+=v[d[p]];
    }
    printf("%lld",s);
    return 0;
}