Cod sursa(job #552004)

Utilizator blastoiseZ.Z.Daniel blastoise Data 11 martie 2011 14:41:27
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
#include <deque>

using namespace std;

int v[500001];
int start,mx,i,N,K;

deque <pair<int,int> > d;

int main()
{
	ifstream in("secventa.in");
	ofstream out("secventa.out");

	in>>N>>K;

	for(i=0;i<N;i++) in>>v[i];

	mx=0;
	start=0;

	for(i=0;i<N;i++)
	{
		if(d.size())
			if(d.front().second+K<=i) d.pop_front();

		while(d.size()>1&&d.back().first>v[i]) d.pop_back();
		d.push_back(make_pair(v[i],i));

		if(mx<d.front().first)
		{
			mx=d.front().first;
			start=d.front().second+1;
		}
	}

	out<<start<<' '<<start+K-1<<' '<<mx<<'\n';
}