Cod sursa(job #275528)

Utilizator alex@ndraAlexandra alex@ndra Data 10 martie 2009 15:28:43
Problema Subsir crescator maximal Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<fstream.h>
int main()
{
 int n,i, l[1000],poz[1000],j;
 long a[1000];

 ifstream f("scmax.in");
   f>>n;
 for(i=1;i<=n;i++)
   f>>a[i];
 f.close();

 l[n]=1;
 poz[n]=-1;

 for(i=n-1;i>=1;i--)
 {
   l[i]=1;poz[i]=-1;

   for(j=i+1;j<=n;j++)

      if(a[i]<a[j]&&l[i]<l[j]+1)
      {
	l[i]=l[j]+1;
	poz[i]=j;
      }
    }
  int max=l[1],pmax;
  for(i=2;i<=n;i++)
  {
    if(l[i]>max)
      {
      max=l[i];

      pmax=i;
      }
   }

   ofstream g("scmax.out");
     g<<max<<"\n";
   for(i=pmax;i!=-1;i=poz[i])
      g<<a[i]<<" ";
   g.close();

    return 0;
    }