Cod sursa(job #793215)

Utilizator tibi9876Marin Tiberiu tibi9876 Data 2 octombrie 2012 12:19:33
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include<fstream>
using namespace std;

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

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