Cod sursa(job #2499374)

Utilizator hunting_dogIrimia Alex hunting_dog Data 25 noiembrie 2019 23:50:00
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 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]=lis[j]+1;
                    if(lis[i]>m)
                        m=lis[i];
                }
    int res[NMAX],k=0;
    g<<m<<'\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;

}