Cod sursa(job #2394787)

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


using namespace std;

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

long long 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;
    long long maxim=s[1];
    for (i=1;i<=n;i++)
      {
           maxim=max(maxim,s[i]);
          imax=i;
      }

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


}