Cod sursa(job #1498354)

Utilizator Julian.FMI Caluian Iulian Julian. Data 8 octombrie 2015 14:50:05
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <fstream>
#define nmax 100009
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");


int main()
{long n,l[nmax],urm[nmax],i,j,maxim,poz,a[nmax];
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>a[i];
        l[i]=1;urm[i]=-1;
    }
    for(i=n-1;i>0;i--)
        for(j=i+1;j<=n;j++)
            if(a[i]<a[j])
        if(l[i]<l[j]+1)
        {
            l[i]=l[j]+1;
            urm[i]=j;
        }
    maxim=l[1];
    poz=1;
    for(i=2;i<=n;i++)
        if(l[i]>maxim)
        {
            maxim=l[i];
            poz=i;
        }
    fout<<maxim<<'\n';
    while(poz!=-1)
    {
        fout<<a[poz]<<' ';
        poz=urm[poz];
    }

}