Cod sursa(job #831695)

Utilizator narcis_vsGemene Narcis - Gabriel narcis_vs Data 8 decembrie 2012 23:18:14
Problema Subsir crescator maximal Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include<fstream>
#define N 100004
using namespace std;

ifstream fin("scmax.in");
ofstream fout("scmax.out");
int a[N],Next[N],LIS[N],n;
void Afisare(int k)
{
    if(Next[k])
    {
        Afisare(Next[k]);
        fout<<a[k]<<" ";
    }
    else
        fout<<a[k]<<" ";
}
int main()
{
    int i,j,maxim,poz;
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>a[i];
        maxim=0,poz=0;
        for(j=1;j<i;j++)
            if(a[j]<a[i] && LIS[j]>maxim)
            {
                poz=j;
                maxim=LIS[j];
            }
        Next[i]=poz;
        LIS[i]=maxim+1;
    }
    fout<<LIS[n]<<"\n";
    Afisare(n);
    fout<<"\n";
    fout.close();
    return 0;
}