Cod sursa(job #458228)

Utilizator tudgal1001Profir Tudor tudgal1001 Data 23 mai 2010 22:38:04
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<cstdio>
#include<deque>
using namespace std;
deque<int> v;

int a[5000002];

int main ()
{
	int i,n,k,j;
	long long sum;
	freopen("deque.in","r",stdin);
	freopen("deque.out","w",stdout);
	scanf("%d%d",&n,&k);
	sum=0;
	for (i=1; i<=n; i++)
		scanf("%d",&a[i]);
	for (i=1; i<=n; i++)
	{
		while (!v.empty() && a[v.back()]>=a[i]) v.pop_back();
		v.push_back(i);
		for (j=0; j<v.size(); j++)
			printf("%d ",v[j]);
		printf("\n");
		if (v.front()==i-k) v.pop_front();
		if (i>=k) sum+=a[v.front()];
	}
	printf("%I64d",sum);
	return 0;
}