8 389 207 155 300 299 170 158 65
2
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
using namespace std;
int main(){
int n;
int dp[1111],i,j,a[1111];
while(cin>>n){
int out=0;
for(i=0;i<n;++i){
cin>>a[i];
dp[i]=1;
}
for(i=0;i<n;++i){
for(j=i-1;j>=0;--j){
if(a[i]>a[j]&&dp[j]+1>dp[i])
dp[i]=dp[j]+1;
}
out=out>dp[i]?out:dp[i];
}
printf("%d\n",out);
}
return 0;
}
原文地址:http://blog.csdn.net/zp___waj/article/details/46495295