Cod sursa(job #552092)

Utilizator blastoiseZ.Z.Daniel blastoise Data 11 martie 2011 17:08:20
Problema Secventa Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>
#include <deque>

using namespace std;

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

deque <int> d;

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

	in>>N>>K;

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

	maxim=-2000000000;
	start=0;
	for(i=0;i<N;i++)
	{
		while(d.size()&&v[d.back()]>=v[i]) d.pop_back();
		d.push_back(i);
		if(d.front()+K==i) d.pop_front();
		if(i>=K-1)
			if(maxim<v[d.front()])
			{
				maxim=v[d.front()];
				start=i+1;
			}
	}

	out<<start-K+1<<" "<<start<<" "<<maxim<<"\n";

	return 0;
}