Pagini recente » Cod sursa (job #1539882) | Cod sursa (job #385564) | Cod sursa (job #2534461) | Cod sursa (job #2790040) | Cod sursa (job #402549)
Cod sursa(job #402549)
/*
@ Mihai Tabara, 2010
CMLSCM ( subsir crescator maximal )
O(N^2) - time
- memory
*/
#include <fstream>
using namespace std;
const char* in = "scmax.in";
const char* out = "scmax.out";
const int NMAX = 100005;
int best[NMAX], tata[NMAX];
int A[NMAX], N;
template<typename T>
inline T maxim ( T a, T b ) { return ((a) > (b) ? (a) : (b)); }
int main ( void )
{
freopen ( in, "r", stdin );
freopen ( out, "w", stdout );
scanf ( "%d", &N );
int i, j, max;
for ( i = 1; i <= N; scanf( "%d", A+i++ ) );
best[ max = 0] = 0;
for ( i = 1; i <= N; ++i )
{
best[i] = 1;
for ( j = 1; j < i; ++j )
if ( A[j] < A[i] && best[i] < best[j] + 1 )
{
best[i] = best[j] + 1;
max = maxim ( max, best[i] );
}
}
printf ( "%d\n", max );
return 0;
}