Cod sursa(job #2607743)

Utilizator Andrei-27Arhire Andrei Andrei-27 Data 30 aprilie 2020 09:54:19
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 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 rec ( int index ){
    if ( !index )   return ;
    rec ( 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" ;
rec ( index ) ;}