水爆了
#include <iostream>
#include <algorithm>
using namespace std;
int a[200000],b[200000];
int n,i,j,ans,cc;
int main()
{
freopen("pin.txt","r",stdin);
freopen("pou.txt","w",stdout);
while (++cc)
{
n=0;
memset(b,0,sizeof(b));
while (1)
{
scanf("%d",&i);
if (i==-1) break;
a[++n]=-i;
}
if (n==0) return 0;
if (cc>1) printf("\n");
ans=1;b[1]=a[1];
for (i=2;i<=n;i++)
{
if (a[i]>b[ans])
{
b[++ans]=a[i];
continue;
}
j=upper_bound(b+1,b+ans+1,a[i])-b-1;
b[++j]=a[i];
}
printf("Test #%d:\n",cc);
printf(" maximum possible interceptions: %d\n",ans);
}
}