Cod sursa(job #2416342)

Utilizator Briana_NeaguNeagu Briana Briana_Neagu Data 27 aprilie 2019 13:43:40
Problema Subsir crescator maximal Scor 65
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>
#define maxi 100005

using namespace std;

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

int n,v[maxi];
int prv[maxi],smax[maxi];

void afis(int i)
{
    if (prv[i]==0)
        {
         g<<v[i]<<" ";
         return;
        }
    afis(prv[i]);
    g<<v[i]<<" ";
}

int main()
{
    f>>n;
    for (int i=1;i<=n;i++)
        f>>v[i];
    prv[1]=-1;
    smax[1]=1;
    int maxim=1;
    for (int i=2;i<=n;i++)
    {
        smax[i]=1;
        for (int j=1;j<i;j++)
            if (v[j]<v[i] && smax[j]+1>smax[i])
          {
            smax[i]=smax[j]+1;
            prv[i]=j;
          }

         if (smax[maxim]<smax[i])
            maxim=i;
    }
     g<<smax[maxim]<<'\n';
     afis(maxim);
}