Cod sursa(job #1325067)

Utilizator dante72Cardas Malina dante72 Data 23 ianuarie 2015 10:57:42
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
unsigned n,i,lmax,L[201],succ[201],l,j,x[201],prim;
int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
            fin>>x[i];

    L[n]=1; succ[n]=0;
    for(i=n-1;i>=1;i--)
    {
        succ[i]=0;L[i]=1;
        for(j=i+1;j<=n;j++)
            if(x[j]>x[i])
                if(L[j]>=L[i])
                {
                    L[i]=L[j]+1;succ[i]=j;
                }
        if(lmax<L[i])
        {
            lmax=L[i];
            prim=i;
        }
    }
    //fout<<prim<<",,,";
    fout<<lmax<<'\n';
    for(i=prim,l=0;l<lmax;l++)
    {
        fout<<x[i]<<' ';
        i=succ[i];
    }
    /*for(i=1;i<=n;i++)
            fout<<L[i]<<" ";*/
    return 0;
}