Cod sursa(job #2394812)

Utilizator Briana_NeaguNeagu Briana Briana_Neagu Data 1 aprilie 2019 22:35:00
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <iostream>
#include <fstream>


using namespace std;

ifstream f("scmax.in");
ofstream g("scmax.out");

int a[100004],n,s[100004],r[100004];

void k(int i)
{
    if(r[i]==-1)
      g<<a[i]<<" ";
    else
    {
        k(r[i]);
        g<<a[i]<<" ";
    }


}




int main()
{   int i,j;
    f>>n;
    for (i=1;i<=n;i++)
        f>>a[i];
    s[1]=1;
    r[1]=-1;
    for (i=2;i<=n;i++)
    {
         s[i] =1;
         r[i]=-1;
        for (j=1;j<i;j++)
    {
        if (a[j]<a[i])
            if ((s[j]+1)>s[i])
              {s[i]=s[j]+1;
                r[i]=j;
              }
    }
    }
    int imax=1;
    int  maxim=s[1];
    for (i=1;i<=n;i++)
      {


          if (maxim<s[i])
          {
           maxim=s[i];
          imax=i;
          }
      }

    g<<maxim<<'\n';
    k(imax);


}