Cod sursa(job #1260457)

Utilizator alexandra_udristoiuUdristoiu Alexandra Maria alexandra_udristoiu Data 11 noiembrie 2014 12:28:50
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include<fstream>
using namespace std;
int n, i, j, maxim, k, p, maxim1, p1;
int v[100001], t[100001], L[100001];
ifstream fin("scmax.in");
ofstream fout("scmax.out");
void drum(int p1){
    if(p1 != 0){
        drum(t[p1]);
        fout<< v[p1] <<" ";
    }
}
int main(){
    fin>> n;
    for(i = 1; i <= n; i++){
        fin>> v[i];
    }
    L[1] = 1;
    for(i = 2; i <= n; i++){
        maxim = 0;
        for(j = 1; j < i; j++){
            if(v[i] > v[j] && L[j] > maxim){
                maxim = L[j];
                p = j;
            }
        }
        if(maxim != 0){
            t[i] = p;
        }
        L[i] = maxim + 1;
        if(L[i] > maxim1){
            maxim1 = L[i];
            p1 = i;
        }
    }
    fout<< maxim1 <<"\n";
    drum(p1);
    return 0;
}