Cod sursa(job #282916)

Utilizator loginLogin Iustin Anca login Data 18 martie 2009 15:34:31
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
# include <fstream.h>
using namespace std;
int a[100005], n, poz, lmax;
ofstream fout ("scmax.out");
void citire ()
{
	int i;
	ifstream fin ("scmax.in");
    fin>>n;
	for (i=1;i<=n;i++)
		fin>>a[i];
}
void cmlsc ()
{
	int l[100005], p[100005], i, j;
	l[n]=1;
	p[n]=-1;
	for (i=n-1;i>0;i--)
	{
		l[i]=1, p[i]=-1;
		for (j=i+1;j<=n;j++)
			if (a[i]<a[j] && l[i]<l[j]+1)
				l[i]=l[j]+1, p[i]=j;
	}
	lmax=-1;
	for (i=1;i<=n;i++)
		if (l[i]>lmax)
			lmax=l[i], poz=i;
	while (poz!=-1)
	{
		fout<<a[poz]<<" ";
		poz=p[poz];
	}
}
int main ()
{
	citire ();
	cmlsc ();
	return 0;
}