Cod sursa(job #338548)

Utilizator pykhNeagoe Alexandru pykh Data 5 august 2009 23:21:50
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<stdio.h>

const char in[]="deque.in";
const char out[]="deque.out";
const int maxN=5000005;
int v[maxN], N, K, i, deque[maxN], front=1, back=0, max=-maxN-maxN;
long long sum=0;

int main()
	{
		freopen(in,"r",stdin);
		scanf("%d %d", &N, &K);
		for(i=1;i <= N; ++i)
			scanf("%d ", &v[i]);
		for(i=1;i<=N;++i)
			{while(front<=back && v[i]<=v[deque[back]])--back;
		deque[++back]=i;
			if(deque[front]==i-K)++front;
			if(i>=K)sum+=v[deque[front]];}
		freopen(out,"w",stdout);
	printf("%d \n", sum);
return 0;
}