Cod sursa(job #1472380)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 17 august 2015 03:17:05
Problema Deque Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.4 kb
#include<stdio.h>
int n,k,i,q[5000001],a[5000001],p=1,u=0;
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",a+i);
	for(i=1;i<=n;i++) {
      	for(;p<=u&&a[i]<=a[q[u]];u--);
      	q[++u]=i;
      	if(q[p]==i-k)
            p++;
      	if(i>=k)
            s+=a[q[p]];
	}
	printf("%lld",s);
}