Cod sursa(job #2458672)

Utilizator rares9991Matisan Rares-Stefan rares9991 Data 21 septembrie 2019 12:06:27
Problema Subsir crescator maximal Scor 55
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>

using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int v[100001], l[100001], ult[100001];

void subsir(int p)
{
   if(ult[p]!=0)
      subsir(ult[p]);
   fout<<v[p]<<" ";
}

int main()
{
    int n,maxx=0,imax=1;
    fin>>n;
    for(int i=1;i<=n;i++)
    fin>>v[i];
    l[1]=1;
    for(int i=1;i<=n;i++)
    {
        maxx=0;
        for(int j=1;j<i;j++)
        {
        if(v[i]>v[j] and l[i]<l[j])
            {
            l[i]=l[j];
            ult[i]=j;
            }
        }
        l[i]++;
        if(l[i]>l[imax])
        imax=i;
    }
    int i=imax,k=0;
    fout<<l[imax]<<"\n";
    subsir(imax);
    /*while(k!=l[imax])
    {
    cout<<v[i]<<" ";
    i=ult[i];
    k++;
    }*/
    return 0;
}