Cod sursa(job #607455)

Utilizator SteveStefan Eniceicu Steve Data 12 august 2011 03:32:03
Problema Secventa Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <fstream.h>

int main ()
{
	int dq[500001], v[500001], max=-30001;
	long N, K, i, f=1, l=0, unde;
	ifstream fin;
	fin.open ("secventa.in");
	fin>>N>>K;
	for (i=1; i<=N; i++)
	{
		fin>>v[i];
	}
	fin.close ();
	for (i=1; i<=N; i++)
	{
		while (f <= l && v[i] <= v[dq[l]])
		{
			l--;
		}
		dq[++l]=i;
		if (dq[f] == i-K) f++;
		if (i >= K && v[dq[f]] > max)
		{
			max=v[dq[f]];
			unde=i;
		}
	}
	ofstream fout;
	fout.open ("secventa.out");
	fout<<unde-K+1<<" "<<unde<<" "<<max;
	fout.close ();
	return 0;
}