Cod sursa(job #798833)

Utilizator tibi9876Marin Tiberiu tibi9876 Data 17 octombrie 2012 13:40:20
Problema Secventa Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream>
using namespace std;

int a[500001],c[500001],n,k,u,mx,p,i,x,y;

int main()
{
	ifstream f("secventa.in");
	ofstream g("secventa.out");
	f >> n >> k;
	for (i=1;i<=n;i++)
		f >> a[i];
	p=1;u=0;mx=-30001;
	for (i=1;i<=n;i++)
	{
		while ((u>=p) && (a[i]<c[u]))
			u--;
		c[++u]=a[i];
		if (i>=k)
		{
			if ((i>k) && (a[i-k]==c[p]))
				p++;
			if (c[p]>mx)
			{
				mx=c[p];
				x=i;
			}
		}
	}
	y=x+1;
	while ((y<=n) && (a[y]>=mx))
		y++;
	y--;
	g << x-k+1 << ' ' << y << ' ' << mx;
	return 0;
}