Cod sursa(job #2284590)

Utilizator andrei5000Andrei Alin andrei5000 Data 17 noiembrie 2018 11:47:24
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>

using namespace std;

int n,i,j,v[100000],L[100000],urm[100000],Lm,ind;

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

int main()
{
    f >> n;
    for(i=0;i<n; ++i)
        {f >> v[i]; L[i] = 1;}

    for(i=n-1;i>=0;--i){Lm=0; ind = -1;
        for(j=i+1;j<n;++j)
         if(v[i]<v[j]){
           if(L[j]>Lm) {Lm = L[j]; ind = j;}}
    L[i] += Lm;
    urm[i] = ind;
    }

    for(i=0;i<n;++i)
        if(L[i]>Lm) {Lm = L[i]; ind = i;}

    g << Lm << "\n";

    while(urm[ind]!=-1){
        g << v[ind] << " ";
        ind = urm[ind];
    }
    g << v[ind];

    return 0;
}