Cod sursa(job #251454)

Utilizator allynaAlina S allyna Data 2 februarie 2009 18:08:29
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.25 kb
#include<fstream.h>
#include<iostream.h>
int a[100000],x[1000],y[100000],n,i;
int main()
{int urm,max,j;
ifstream in("scmax.in");
ofstream out("scmax.out");
in>>n;
for(i=0;i<n;i++)
        in>>a[i];
for(i=n-1;i>0;i++)
                  {
                        max=0,urm=-1;
                        for(j=i+1;j<n;j++)
                                          if(a[i]<a[j] && x[j]>max) 
                                                          {
                                                                    max=x[j];
                                                                    urm=j;
                                                                    }
                           x[i]=max+1;
                           y[i]=urm;
                           }                                         
max=0;
urm=-1;
for(i=0;i<n;i++)
{
                out<<x[i]<<" ";
                if(x[i]>max) 
                             {
                              max=x[i];
                              urm=i;
                              }

}
out<<max<<endl;
while(urm!=-1)
              {
              out<<urm<<" ";
              urm=y[urm];
              }
in.close();
out.close();
return 0;
}