Cod sursa(job #861393)

Utilizator tibi9876Marin Tiberiu tibi9876 Data 21 ianuarie 2013 14:14:06
Problema Secventa Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<fstream> 
using namespace std;   
short int a[500001],c[500001],k,u,mx,p;
int i,n,x;
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;
					}
				}
			}
	g << x-k+1 << ' ' << x << ' ' << mx;
	return 0;
}