Cod sursa(job #1967013)

Utilizator radumihaisirbuSirbu Radu-Mihai radumihaisirbu Data 15 aprilie 2017 19:45:06
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("scmax.in");
ofstream fout ("scmax.out");
int v[100001],l[100001],p[100001],n,i,L,Max,j;
int main()
{
  fin>>n;
  for (i=1;i<=n;i++)
    {fin>>v[i];l[i]=1;
      p[i]=-1;}

  for (i=n-1;i>=1;i--)
  {

      for (j=i+1;j<=n;j++)
      {
          if (v[i]<v[j])
            if (l[i]<l[j]+1)
                l[i]=l[j]+1,p[i]=j;

      }

  }
  for (i=1;i<=n;i++)
    if (l[i]>Max) Max=l[i];
 fout<<Max<<"\n";
  for (i=1;i<=n;i++)
  {
      if (l[i]==Max) {
        L=1;
        while (L<=Max)
             {fout<<v[i]<<" ";i=p[i];
             L++;}
       break;
      }
  }
  fout.close();
    return 0;
}