Cod sursa(job #1529808)

Utilizator woogiefanBogdan Stanciu woogiefan Data 21 noiembrie 2015 11:23:53
Problema Subsir crescator maximal Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int v[100005], lung[100005], n, i, j, lmax, smax, pmax, x[100005] , p;
int main()
{   fin >> n;
    for(i = 1 ; i <= n ; i++)
        fin>>v[i];

    for(i = 1 ; i <= n ; i++)
    {   lmax=0;
        for(j=1;j<=i-1;j++)
        {
            if(v[i]>v[j] && lung[j]>lmax)
            {
                lmax=lung[j];
                x[i] = j;
            }
        }
        lung[i]=lmax+1;
        if(lung[i]>smax)
        {   smax=lung[i];
            pmax=i;
        }

    }

    fout << smax <<'\n';

 for(i = pmax; i >= 1 ; i = x[i])
    {   p++;
        x[p]=v[i];
    }
    for(i=p ; i >= 1 ; i--)
        {
            if(x[i] != 0)
            fout << x[i]<<' ';
        }

    return 0;
}