Cod sursa(job #1122538)

Utilizator dascalutudorDascalu Tudor dascalutudor Data 25 februarie 2014 18:42:34
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <fstream>

using namespace std;
ifstream in("scmax.in");
ofstream out("scmax.out");
const int Nmax=100001;
int v[Nmax],ant[Nmax],ps,n,a,lmax,l[Nmax];
void solutie(int ps)
{   if(ps>0)
    {
        solutie(ant[ps]);
        out<<v[ps]<<" ";

    }

}
int main()
{   int i,j;
    in>>n;
    for(i=1;i<=n;i++)
        in>>v[i];
    for(i=1;i<=n;i++)
    {   lmax=0;
        a=-1;
        for(j=1;j<i;j++)
        {   if(v[j]<v[i])if(l[j]>lmax)
            {   lmax=l[j];
                a=j;

            }


        }

        ant[i]=a;
        l[i]=lmax+1;
    }
    lmax=0;
    for(i=1;i<=n;i++)
    {
         if(l[i]>lmax)
        {   lmax=l[i];
            a=i;
        }

    }

    out<<lmax<<endl;
    solutie(a);
    return 0;
}