Cod sursa(job #369259)

Utilizator dya_ndmNanuti Diana-Maria dya_ndm Data 27 noiembrie 2009 17:43:01
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<stdio.h>

long n,k,x[5000005],c[5000005];
long long s;

void read()
{
long i;
scanf("%ld %ld",&n,&k);
for(i=1;i<=n;++i)
	scanf("%ld",&x[i]);
}

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