Cod sursa(job #240509)

Utilizator Sorin_IonutBYSorynyos Sorin_Ionut Data 7 ianuarie 2009 19:34:47
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream.h>
#include <fstream.h>

ifstream fin("scmax.in");
ofstream fout("scmax.out");

long v[10005];
long l[10005];
long n,k,max,t;

int main()
{
 int i;

  fin>>n;
 for(i=1;i<=n;i++)
  fin>>v[i];
 fin.close();

 l[n]=1;

 for(k=n-1;k>=1;k--)
 {
  max=0;
   for(i=k+1;i<=n;i++)
    if(v[i]>v[k] && l[i]>max)
     max=l[i];
  l[k]=1+max;
 }

 max=l[1];
 t=1;
 for(k=1;k<=n;k++)
  if(l[k]>max)
  {
   max=l[k];
   t=k;
  }
 fout<<max<<endl<<v[t]<<" ";

 for(i=t+1;i<=n;i++)
  if(v[i]>v[t] && l[i]==max-1)
  {
   fout<<v[i]<<" ";
   max--;
  }
 fout.close();
}