Cod sursa(job #1717362)

Utilizator roxi22Roxi C. roxi22 Data 14 iunie 2016 19:05:40
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>

using namespace std;

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

#define nmax 100000

int n,x[nmax],p[nmax],l[nmax];

void afisare(int pc){
    if(pc!=0)
        {afisare(p[pc]);
        fout<<x[pc]<<" ";}}
int main(){

    fin>>n;
    for(int i=1;i<=n;i++)
        fin>>x[i];
    for(int i=1;i<=n;i++)
        {l[i]=1;
        p[i]=0;
        for(int j=1;j<i;j++)
            if(l[i]<l[j]+1&&x[i]>x[j])
                {l[i]=l[j]+1;
                p[i]=j;}}
    int pmax=1;
    for(int i=1;i<=n;i++)
        if(l[i]>l[pmax])
            pmax=i;
    fout<<l[pmax]<<"\n";
    afisare(pmax);

    return 0;}