Cod sursa(job #857036)

Utilizator ilenitudorIleni Tudor ilenitudor Data 17 ianuarie 2013 10:21:12
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n, maxt, pm;
long int A[100003],L[100003];

void afis(int k, int m)
{
   if(m>0)
   {
        int i=k-1;
        while(L[i]!=m-1) i--;
        afis(i,m-1);
        fout<<A[k]<<" ";
   }
}

int main()
{
    int i,j,maxx;
    fin>>n;
    for(i=1;i<=n;i++) fin>>A[i];
    L[1]=1;
    for(i=2;i<=n;i++)
    {
        maxx=0;
        for(j=1;j<i;j++)
           if(A[j]<A[i] && L[j]>maxx) maxx=L[j];
        L[i]=maxx+1;
        if(L[i]>maxt)
                {
                    maxt=L[i];
                    pm=i;
                }
    }
    fout<<maxt<<"\n";
    afis(pm,maxt);

    fin.close();
    fout.close();
    return 0;
}