Cod sursa(job #813104)

Utilizator alinaelenaFMI Colceag Alina alinaelena Data 14 noiembrie 2012 21:59:04
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<cstdio>
#define nmax 5000001
int deq[nmax],poz[nmax],n,k;

int main()
{
	long long x,p,u,i;
	long long s=0;
	freopen("deque.in","r",stdin);
	freopen("deque.out","w",stdout);
	scanf("%lld %lld",&n,&k);
	scanf("%lld",&deq[1]); poz[1]=1;
	p=1;
	u=1;
	for(i=2;i<=n;++i)
	{
		scanf("%lld",&x);
	    while((x<=deq[u])&&(p<=u))
			u--;
		u++;
		deq[u]=x;poz[u]=i;
		if (poz[p]+k<=i)
			p++;
		if (i>=k) 
			s=s+deq[p];
		
	}
	
	printf("%lld",s);
	
}