Cod sursa(job #486498)

Utilizator diana.fulgafulga diana diana.fulga Data 21 septembrie 2010 20:40:22
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include<fstream.h>
ifstream f("scmax.in");
ofstream g("scmax.out");
int i,j,k,n,pmax,max,a[100000],v[100000],L[100000],t[100000];
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];
    L[1]=1;
    for(i=2;i<=n;i++)
    {
        max=0;
        pmax=0;
        for(j=1;j<i;j++)
            if(v[i]>v[j] && L[j]>max)
                {max=L[j];pmax=j;}
        L[i]=max+1;
        t[i]=pmax;
    }
    max=0;
   for(i=1;i<=n;i++)
        if(L[i]>max)
        {
            max=L[i];
            pmax=i;
        }
    g<<max<<'\n';
    k=pmax;
    a[max+1]=v[k];
    for(i=max;i>=1;i--)
    {
        a[i]=v[t[k]];
		k=t[k];
    }
    for(i=2;i<=max+1;i++)
        g<<a[i]<<" ";
    return 0;
}