Cod sursa(job #1358893)

Utilizator RusuRadurusu radu RusuRadu Data 24 februarie 2015 20:27:34
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<fstream>
using namespace std;
	ifstream cin("scmax.in");
	ofstream cout("scmax.out");

int main()
{
	long n,lung[100000],urm[100000],a[100000],maxim=0;
	int i,j,indice;
	cin>>n;
	for(i=1;i<=n;++i)
	 	cin>>a[i];
	for(i=n;i>=1;--i){
		//urm[i]=-1;
			lung[i]=1;
		
		for( j=n;j>i;--j ){
			if( a[i] < a[j] )
			if( lung[i] < lung[j]+1 ){
				
				lung[i]=lung[j]+1;
				urm[i]=j;
				if(lung[i]>maxim){
				 maxim=lung[i];
			     indice=i;}
			}
			
		}
	}
		cout<<maxim<<"\n";
	while(indice!=0){
	cout<<a[indice]<<" ";
	indice=urm[indice];
}
	
	
	 	
	return 0;
}