Cod sursa(job #552160)

Utilizator GaborGabrielFMI - GabrielG GaborGabriel Data 11 martie 2011 19:15:17
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <fstream.h>
ifstream f("deque.in");
ofstream g("deque.out");
int n,k,Deque[5000001],A[5000001];

int main()
{
	int i,Front=1,Back=0,S=0;
	f>>n>>k;
	for(i=1;i<=n;i++)
		f>>A[i];
	
	for(i=1;i<=n;i++)
	{
		while(Front<=Back && A[i]<=A[Deque[Back]]) Back--;
		Deque[++Back]=i;
		if(Deque[Front]==i-k) Front++;
		if(i>=k) S+=A[Deque[Front]];
	}
	g<<S<<'\n';
	f.close();
	g.close();
	return 0;
}