#include<iostream> #include<cstdio> #include<cstring> using namespace std; #define maxn 100000 int f[maxn]; int a[maxn]; int main() { int cas=0; int b,c; while(scanf("%d",&b)&&b!=-1) { int i=0; a[i++]=b; while(scanf("%d",&c)&&c!=-1) { a[i++]=c; } memset(f,0,sizeof(f)); int ans=0; for(int j=0;j<i;j++) { f[j]=1; for(int k=0;k<j;k++) { if(a[k]>=a[j]&&f[k]+1>f[j]) f[j]=f[k]+1; } } for(int j=0;j<i;j++) { if(f[j]>ans) ans=f[j]; } printf("Test #%d:\n",++cas); printf(" maximum possible interceptions: %d\n\n",ans); } return 0; }
poj1887(最长下降子序列)
猜你喜欢
转载自blog.csdn.net/zizahn/article/details/53038770
今日推荐
周排行