Cod sursa(job #895467)

Utilizator razvanb87Razvan Buhaianu razvanb87 Data 27 februarie 2013 11:31:46
Problema Subsir crescator maximal Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>
using namespace std;
int n,x[100000],l[100000],ant[100000];
ofstream out("scmax.out");



int main()
{
    ifstream in("scmax.in");


    in>>n;
    int i,lmax,a,p,j,val;
    for(i=0;i<n;i++)
        in>>x[i];
    in.close();
    for(i=0;i<n;i++)
    {
        lmax=0;a=-1;
        for(j=0;j<i;j++)
            if(x[i]>x[j])
                if(l[j]>lmax)
                {lmax=l[j];a=j;}
        l[i]=lmax+1;
        ant[i]=a;
    }
    lmax=0;p=0;
    for(i=0;i<n;i++)
        if(l[i]>lmax){lmax=l[i];p=i;}
    out<<lmax<<endl;
    val=0;
        for(i=0;i<=p;i++)
        {
            if(l[i]>val)
            {
                out<<x[i]<<" ";
                val++;

            }
        }
    out.close();
    return 0;
}