Pagini recente » Cod sursa (job #1353615) | Cod sursa (job #2550570) | Cod sursa (job #1078528) | Cod sursa (job #792777) | Cod sursa (job #2607743)
#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 ) ;}