Cod sursa(job #1739363)

Utilizator blackmanta45Andrei blackmanta45 Data 9 august 2016 12:51:20
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
#define DIM 100010
using namespace std;
ifstream fin ("scmax.in");
ofstream fout ("scmax.out");
int v[DIM],L[DIM],T[DIM],maxim,n,i,j,pozmax,sol,u;

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;
    for(i=2;i<=n;i++){
        maxim=0;
        pozmax=0;
        for(j=1;j<i;j++){
            if(L[j]>maxim && v[j]<v[i]){
                maxim=L[j];
                pozmax=j;
            }
        }
        T[i]=pozmax;
        L[i]=maxim+1;
        if(L[i]>sol){
            sol=L[i];
            u=i;
        }
    }
    fout<<sol<<"\n";
    drum(u);
 /*
    while(u!=0){
        fout<<v[u]<<" ";
        u=T[u];
    }
 */
}