Cod sursa(job #996704)

Utilizator SapientiaCHIRILA ADRIAN Sapientia Data 12 septembrie 2013 15:29:36
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int v[100000],u[100000],i,j,n,x[100000];
int main()
{
      f>>n;
    for(i=1;i<=n;++i)
      f>>v[i];
      f.close();
      u[1]=1;
      short int maxim=0,c=0;
      for(i=2;i<=n;++i)
      {
           short int max=0;
          for(j=1;j<=i-1;++j)
              if ((u[j]>max) && (v[j]<v[i])) max=u[j];
              u[i]=++max;
             if (max>maxim) {maxim=max;c=i;}
      }
      g<<maxim<<"\n";
      x[maxim]=v[c];
      j=maxim;
      while (maxim>0)
      {
         --c;
         if (u[c]==maxim-1)
         {
             --maxim;
             x[maxim]=v[c];
         }

      }
      for(i=1;i<=j;++i)
        g<<x[i]<<" ";
        g.close();
    return 0;
}