//11103780 c00h00g 2533 Accepted 408K 16MS G++ 641B 2012-12-13 12:18:44
//最长上升子序列,写这种题目竟然也需要修改好多次,基础还是不牢固啊
#include<stdio.h>
#include<stdlib.h>
int a[1005];
int dp[1005];
int N;
int main(){
while(scanf("%d",&N)!=EOF){
for(int i=0;i<N;i++){
scanf("%d",&a[i]);
dp[i]=1;
}
int res=1;
for(int i=1;i<N;i++){
int max=-1;
for(int j=0;j<i;j++){
if(a[i]>a[j]&&dp[j]>max){
max=dp[j];
}
}
if(max!=-1)
dp[i]=max+1;
if(res<dp[i])
res=dp[i];
}
printf("%d\n",res);
}
return 0;
}
POJ 2533
最新推荐文章于 2021-07-18 14:26:21 发布