Cod sursa(job #1803869)

Utilizator ancabdBadiu Anca ancabd Data 11 noiembrie 2016 22:59:12
Problema Subsir crescator maximal Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>

using namespace std;

ifstream fin("scmax.in");
ofstream fout("scmax.out");

#define MAXN 100010

int n, v[MAXN], poz[MAXN], tata[MAXN], maxim, j, x, sir[MAXN], sol[MAXN];

void afis(int nod)
{
    if(nod==0)
    return;
    afis(tata[nod]);
    fout << v[nod] <<  ' ';
}
int main()
{
    fin >> n;
    for(int i=1;i<=n;i++)
    {
        fin >> v[i];
        j=1;
        while(sir[j]<v[i]&&j<=maxim)
        j++;
        sir[j]=v[i];
        poz[j]=i;
        tata[i]=poz[j-1];
        if(j > maxim)maxim=j;
    }
    fout << maxim << '\n';
    afis(poz[maxim]);
    return 0;
}