Cod sursa(job #1121304)

Utilizator bia423Bianca Floriana bia423 Data 25 februarie 2014 12:26:35
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("scmax.in");
ofstream out("scmax.out");
const int nmax=100001;
int n,v[nmax],ant[nmax],l[nmax],lmax,a,pi;
void solutie (int pi)
{ if(pi>=0)
        {
            solutie(ant[pi]);
            out<<v[pi]<<" ";
        }
}
int main()
{ in>>n;
    for(int i=0;i<n;i++)
        in>>v[i];
    for(int i=0;i<n;i++)
    {   lmax=0;
        a=-1;
        for(int j=0;j<i;j++)
        if(v[j]<v[i])if(l[j]>lmax)
            { lmax=l[j];a=j;}
        l[i]=lmax+1;
        ant[i]=a;
        }
    lmax=0;
        for(int i=0;i<n;i++)if(l[i]>lmax){lmax=l[i]; pi=i;}
        out<<lmax<<"\n";
        solutie(pi);
    return 0;
}