Pagini recente » Cod sursa (job #579046) | Cod sursa (job #1944500) | Cod sursa (job #1643972) | Cod sursa (job #870215) | Cod sursa (job #2311962)
#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 ) ;}