Cod sursa(job #362980)

Utilizator Cristy94Buleandra Cristian Cristy94 Data 11 noiembrie 2009 14:28:31
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<fstream.h>
ifstream f("scmax.in");
ofstream g("scmax.out");
int x,m,l,n,v[100001],a[100001],i,j,p[100001],max;
void rec(int k){
	if(k>0){
	  rec(p[k]);
	  g<<v[k]<<' ';
	}
}
int main(){
f>>n;m=-1;
for(i=1;i<=n;i++)
	f>>v[i];
a[1]=1;p[1]=0;
for(i=2;i<=n;i++){
	max=0;
	for(j=i-1;j>=1;j--)
		if(v[j]<v[i]&&max<a[j])
		{  max=a[j];
		    p[i]=j;break;
		}
a[i]=max+1;
if(max+1>m){
	m=max+1;
	x=i;
}
}
g<<m<<'\n';
rec(x);
return 0;
}