记录编号 160866 评测结果 AAAAAAAAAA
题目名称 [NOIP 1999]拦截导弹 最终得分 100
用户昵称 Gravatarforever 是否通过 通过
代码语言 C++ 运行时间 0.008 s
提交时间 2015-04-29 17:47:24 内存使用 0.33 MiB
显示代码纯文本
#include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
int i=1,a[1001],b[1001],f[1001],maxx=0,qian[1001];
int main()
{   freopen("missile.in","r",stdin);
	freopen("missile.out","w",stdout);
	while(cin>>a[i])
	  i++;
	for(int y=1;y<=i-1;++y)
	 qian[y]=a[i-y];
	int k=1;
	 b[1]=a[1];
	for(int o=2;o<=i-1;++o)
	  {
		int  p=0;
		for(int j=1;j<=k;++j)
		  if(b[j]>=a[o])
		  {
				if(p==0)
				  p=j;
				else
				 if(b[j]<b[p]) p=j;
		  }
		  if(p==0)
		  {
				k++;
				b[k]=a[o];
		  }
		  else
			b[p]=a[o];
	  }
	f[1]=1;
	for(int o=2;o<=i-1;++o)
	{
		f[o]=1;
		for(int j=1;j<=o-1;++j)
		 {
		  if(qian[o]>qian[j]&&f[o]<f[j]+1)
		  {
				f[o]=f[j]+1;
		  }
		  if(f[o]>maxx)
		    maxx=f[o];
		}
	}
	cout<<maxx<<endl;
	cout<<k;
	  //system("pause");
	  return 0;
}