http://poj.org/problem?id=2533
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
#define max 1000
int s[max+];
int max1[max+];
int main()
{
int n,m;
cin>>n;
for(int i=;i<=n;i++)
{
cin>>s[i];
}
max1[]=;
for(int i=;i<=n;i++)
{
m=;
for(int j=;j<i;j++)
{
if(s[i]>s[j])
{
if(m<max1[j])
{
m=max1[j];
}
}
}
max1[i]=m+;
}
int max2=-;
for(int i=;i<=n;i++)
{
if(max2<max1[i])
{
max2=max1[i];
}
}
cout<<max2<<'\n';
return ;
}