Cod sursa(job #624384)

Utilizator roots4Irimia Alexandru Gabriel roots4 Data 22 octombrie 2011 12:11:45
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <stdio.h>
int n , i , p , u , k;
long long sum;
int D[5000004];
int V[5000004];
int main(){
	freopen("deque.in","r",stdin);
	freopen("deque.out","w",stdout);
	scanf("%d%d%d",&n,&k,&V[1]);
	
	p=1;u=1;D[1]=1;
	for(i=2;i<=n;i++){
		scanf("%d",&V[i]);
		while(p<=u&&V[D[u]]>=V[i])
			u--;
		D[++u]=i;
		if((i-D[p])==k)
			p++;
		if(i>=k)
			sum+=V[D[p]];
	}
	printf("%lld",sum);
	return 0;
}