Cod sursa(job #592438)

Utilizator SchumiDumitru Andrei Georgian Schumi Data 28 mai 2011 13:30:10
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<fstream>
using namespace std;

int deque[5000005],sir[5000005];

int main()
{
	int n,k,i,front,back;
	long long s=0;
	ifstream f("deque.in");
	ofstream g("deque.out");
	f>>n>>k;
	for(i=1;i<=n;++i)
		f>>sir[i];
	front=1;
	back=0;
	for(i=1;i<=n;++i)
	{
		while(front<=back && sir[i]<=sir[deque[back]]) --back;
		deque[++back]=i;
		if(i-k==deque[front]) ++front;
		if(i>=k) s+=sir[deque[front]];
	}
	g<<s;
	f.close();
	g.close();
	return 0;
}