Cod sursa(job #592479)

Utilizator SchumiDumitru Andrei Georgian Schumi Data 28 mai 2011 14:42:57
Problema Secventa Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream>
using namespace std;

int deque[5000005],sir[5000005];

int main()
{
	int n,k,i,front,back,x=-30002,fata;
	ifstream f("secventa.in");
	ofstream g("secventa.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 && sir[deque[front]]>x)
		{
			fata=i;
			x=sir[deque[front]];
		}
	}
	g<<fata-k+1<<' '<<fata<<' '<<x;
	f.close();
	g.close();
	return 0;
}