Cod sursa(job #2499380)

Utilizator hunting_dogIrimia Alex hunting_dog Data 26 noiembrie 2019 00:00:44
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>

#define NMAX 100000

using namespace std;

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

int main()
{
    int n,v[NMAX],lis[NMAX]={0},m=0;
    f>>n;
    for(int i=0;i<n;++i)
        f>>v[i];
    for(int i=1;i<n;++i)
        {for(int j=0;j<i;++j)
            if(v[i]>v[j])
                lis[i]=max(lis[j]+1,lis[i]);
            if(lis[i]>m)
                m=lis[i];
        }
    int res[NMAX],k=0;
    g<<m+1<<'\n';
    for(int i=n-1;i>=0;--i)
        if(lis[i]==m)
            res[k++]=v[i],--m;
    for(int i=k-1;i>=0;--i)
        g<<res[i]<<' ';

    return 0;

}