Cod sursa(job #2041074)

Utilizator BungerNadejde George Bunger Data 16 octombrie 2017 20:36:08
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("scmax.in");
ofstream fout ("scmax.out");
int maxim,lmax=0,n,v[100000],a[100000],l[100000],ultimpoz;
int afisare (int x)
{
    if(a[x]>0)
    afisare(a[x]);
    else
    {fout<<v[x]<<" ";return 0;}
        fout<<v[x]<<" ";
}
int main()
{   fin>>n;
    for(int i=1;i<=n;i++)
    {
        fin>>v[i]; maxim=0;
        for(int j=1;j<=i-1;j++)
        {
            if(v[j]<v[i] && maxim<l[j] )
            {
                maxim=l[j]; a[i]=j;
            }
        }
        l[i]=maxim+1;
        if(l[i]>lmax)
        {lmax=l[i];ultimpoz=i;}
    }
    fout<<lmax<<'\n';
    afisare(ultimpoz);
    return 0;
}