Cod sursa(job #1135677)

Utilizator daianapeterPeter Daiana daianapeter Data 8 martie 2014 11:20:44
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
	long a[100001],n,i,l[100001],max=0,poz[100001],j;
ifstream cin("scmax.in");
ofstream cout("scmax.out");
	cin>>n;
	for(i=1;i<=n;++i)
		{
		cin>>a[i];
		l[i]=1;
		poz[i]=-1;
	}
	int maxim=-1,indice;
		
		for(i=n;i>=1;--i)
	{
		for(j=n;j>i;--j)
		if(a[i]<a[j]&& l[i]<l[j]+1)
			{
				l[i]=l[j]+1;
				poz[i]=j;
				
				}
			    if (maxim<l[i])
		          {
                    maxim=l[i];
		            indice=i;
                 	}
}

	

	// afisez scm
	cout<<maxim<<endl;
			
	while (indice!=-1)
	{ cout<<a[indice]<<" ";
	 indice=poz[indice];
	 	}
	
	
	return 0;
}