Cod sursa(job #235566)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 24 decembrie 2008 14:38:11
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>

int N, K, deque[5000005], v[5000005], sum;

int main()
{
	freopen("deque.in","r",stdin);
	freopen("deque.out","w",stdout);

	int i, p, u;

	scanf("%d %d", &N, &K);
	for (i = 1; i <= N; i++) scanf("%d", &v[i]);

	p = 1; u = 0;

	for (i = 1; i <= N; i++)
	{
		while (v[i] <= v[ deque[u] ] && u >= p) u--;
		deque[++u] = i;

		if (deque[p] == i - K) p++;

		if (i >= K) sum += v[ deque[p] ];
	}
	printf("%d\n",sum);
	return 0;
}