Cod sursa(job #1122378)

Utilizator TheFFOFratila Florin Ovidiu TheFFO Data 25 februarie 2014 17:49:59
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <fstream>
#include <iostream>
using namespace std;
int a[100001],l[100001],t[100001],n;
ofstream fout("scmax.out");
void afisare(int t_)
{
    if(t_)
    {
        afisare(t[t_]);
        fout<<a[t_]<<" ";
    }
}

int main()
{
    ifstream fin("scmax.in");
    int i,k,mx,kmx,l_max=0,t_max;
    fin>>n;
    for(i=1;i<=n;++i)
    {
        fin>>a[i];
        mx=1;kmx=0;
        for(k=1;k<i;++k)
            if(a[i]>a[k]&&l[k]+1>mx)
            {
                mx=l[k]+1;
                kmx=k;
            }
        l[i]=mx;
        t[i]=kmx;
        if(l[i]>l_max)
        {
            l_max=l[i];
            t_max=i;
        }
    }
    fin.close();
    //for(i=1;i<=n;++i)cout<<t[i]<<" ";
    cout<<n;
    fout<<l_max<<"\n";
    afisare(t_max);
    return 0;
}