Cod sursa(job #189011)

Utilizator warcryAlin B warcry Data 11 mai 2008 14:42:09
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include<fstream>
#define dim 100001
using namespace std;
int lung[dim],poz[dim],pztr,cur,a[dim],i,j,m,p,n;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
void rec(int i);
int main()
{
 		fin>>n;
 		for(i=1;i<=n;++i)
 		   fin>>a[i];
 		lung[1]=1; poz[1]=0;
 		for(i=2;i<=n;++i)
 		{
		    cur=0; pztr=0;
		    for(j=1;j<i;++j)
		       if(a[j]<a[i]&&lung[j]>cur)
		       {
					 													 cur=lung[j];
					 													 pztr=j;
					 }
		    poz[i]=pztr;
		    lung[i]=cur+1;
		    if(m<lung[i])
		    {
				 						 m=lung[i];
				 						 p=i;
				}
    } 
    fout<<m<<endl;
    rec(p);
}
void rec(int i)
{
 		 if(i)
 		 {
		 			rec(poz[i]);
		 			fout<<a[i]<<" ";
     }
}