Cod sursa(job #876915)

Utilizator GabrielAAAlexandru gabriel GabrielAA Data 12 februarie 2013 12:25:51
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream fin("m.in");

int main()
{
	int n,k,st[500000],x,i,maxim,poz[100],pr,ul;
	fin>>n>>k>>x;
	st[1]=x;
	poz[1]=1;
	pr=ul=1;
	for(i=2;i<=k;i++)
	{
		fin>>x;
		while(pr<=ul && st[ul]>x)
			ul--;
		ul++;
		st[ul]=x;
		poz[ul]=i;
	}
	
	maxim=st[pr];
	for(i=k+1;i<=n;i++)
	{
		fin>>x;
		while(pr<=ul && st[ul]>x)
			ul--;
		ul++;
		st[ul]=x;
		poz[ul]=i;
		if(i-poz[pr]>=k)
			pr++;
		if(maxim<st[pr])
			maxim=st[pr];
	}
	cout<<poz[pr]<<" "<<poz[ul]<<" "<<maxim;
	
	return 0;
}