Cod sursa(job #1739364)

Utilizator miki4Dragomir Mihai miki4 Data 9 august 2016 12:52:20
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include<fstream>
#define DIM 100010
using namespace std;
int i, sol, maxim, pozmaxim, n, j, T[DIM], L[DIM], v[DIM], u;

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


void drum(int u) {
    if (u!=0) {
        drum(T[u]);
        fout<<v[u]<<" ";
    }
}

int main(){
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>v[i];
    L[1]=1;
    sol=1;
    for(i=2;i<=n;i++){
        maxim=0;
        pozmaxim=0;
        for(j=1;j<i;j++)
            if(v[j]<v[i] && L[j]>maxim){
                maxim=L[j];
                pozmaxim=j;

            }
        L[i]=maxim+1;
        T[i]=pozmaxim;

        if (L[i] > sol) {
            sol = L[i];
            u = i;
        }
    }
    fout<<sol<<"\n";

    drum(u);

/*
    while (u!=0) {

        cout<<v[u]<< " ";
        u = T[u];
    }
*/
    return 0;
}