#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(最长下降子序列)
最新推荐文章于 2019-01-01 17:30:00 发布