Cod sursa(job #148722)

Utilizator bacerandreiBacer Andrei bacerandrei Data 4 martie 2008 19:31:35
Problema Subsir 2 Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<fstream.h>
long long v[5000],l[5000],n,i,k,max,t;

int main()
{
   ifstream f("subsir2.in");
   ofstream g("subsir2.out");
   f>>n;
    for(i=1;i<=n;i++)
     f>>v[i];
    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;
	}
     g<<max<<"\n"<<v[t]<<" ";
      for(i=t+1;i<=n;i++)
       if(v[i]>v[t]&&l[i]==max-1)
	{
	 g<<v[i]<<" ";
	 max--;
	}
   return 0;
}