Cod sursa(job #480444)

Utilizator cotopcotop mihai cotop Data 27 august 2010 19:50:36
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<fstream>

using namespace std;
ofstream g("scmax.out");
int n,i,lm,p,l[100001],a[100001];
void dinamica()
{
	int i,j,maxim;
	l[n]=1;
	for(i=n-1;i>=1;i--)
	{
		maxim=0;
		for(j=i+1;j<=n;j++)
			if(l[j]>maxim&&a[i]<a[j])
				maxim=l[j];
			l[i]=maxim+1;
			if(lm<l[i])
				lm=l[i];
	}
}
void drum()
{
	int t;
	t=0;
	p=1;
	do
	{
		while(l[p]!=lm||a[t]>a[p])
			p++;
		if(a[p]>0)
		g<<a[p]<<" ";
		t=p;
		lm--;
	}while(lm);
}

		int main()
		{
			ifstream f("scmax.in");
			f>>n;
			for(i=1;i<=n;i++)
				f>>a[i];
			dinamica();
			g<<lm<<"\n";
			drum();
			return 0;
		}