Cod sursa(job #1342923)

Utilizator RusuRadurusu radu RusuRadu Data 14 februarie 2015 17:57:44
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream>
using namespace std;
ifstream cin("scmax.in");
ofstream cout("scmax.out");
int main()
{
	long a[100001],l[100001],poz[100001],max=-1, indice;
	int n,i,j;
	cin>>n;
	for(i=1;i<=n;++i) 
	{cin>>a[i];
	l[i]=1;}

	for(i=n;i>=1;--i){
		for(j=n;j>1;--j)
		if( a[i] <a[j] )
			if( l[i] < l[j]+1 ){
				l[i]=l[j]+1;
				poz[i]=j;
			}
			if(max<l[i]){
				max=l[i];
				indice=i;
			}
	}
	cout<<max<<endl;
	while( indice!=0) {
		cout<<a[indice]<<" ";
		indice=poz[indice];
	}
	
	return 0;
}