Cod sursa(job #2311962)

Utilizator Andrei-27Arhire Andrei Andrei-27 Data 3 ianuarie 2019 22:17:39
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <vector>
using namespace std ;
ifstream f ("scmax.in") ;
ofstream g ("scmax.out") ;
int v[ 100001 ] ;
int ans [ 100001 ] ;
vector < int > l ( 100001 , 1 ) ;
int Lmax , index ;
void nelu ( int index ){
    if ( !index )   return ;
    nelu ( ans [ index ] ) ;
    g << v [ index ] << " " ;}
int main (){
int n , i , j ; f >> n ;
for ( i = 1 ; i <= n ; ++ i )    f >> v [ i ] ;
for ( i = 2 ; i <=n ; ++ i )
for ( j = 1 ; j < i ; ++ j ){
        if ( l [ j ] + 1 > l [ i ] && v [ i ] > v [ j ] )   l [ i ] = l [ j ] + 1 , ans [ i ] = j ;
        if ( l [ i ] > Lmax ) Lmax = l [ i ] , index = i ;}
g << Lmax << "\n" ;
nelu ( index ) ;}