记录编号 399724 评测结果 AAAAAAAAAA
题目名称 [NOIP 1999]拦截导弹 最终得分 100
用户昵称 GravatarFisher. 是否通过 通过
代码语言 C++ 运行时间 0.013 s
提交时间 2017-04-27 16:37:09 内存使用 0.33 MiB
显示代码纯文本
#include <iostream>
#include <cstring>
#include <cmath>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <cstdio>
#include <time.h>
#include <map>
using namespace std;
int d[1010][2];
int xitong[1010];
int sz=1;
int main()
{
	freopen("missile.in","r",stdin);
	freopen("missile.out","w",stdout);
	ios::sync_with_stdio(false);
	int n=0;
	while(cin>>d[++n][1])
	{
		d[n][0]=1;
	}
	xitong[1]=d[1][1];
	n--;
	for(int i=2;i<=n;i++)
	{
		for(int j=1;j<i;j++)
		{
			if(d[i][1]<=d[j][1]&&d[i][0]<=d[j][0])
			{
				d[i][0]=d[j][0]+1;
			}
		}
	}
	for(int i=1;i<=n;i++)
	{
		int minn=999999999;
		int tag;
		for(int j=1;j<=sz;j++)
		{
			if(xitong[j]<minn&&xitong[j]>=d[i][1])
			{
				minn=xitong[j];
				tag=j;
			}
		}
		if(minn==999999999)
		{
			sz++;
			xitong[sz]=d[i][1];
		//	cout<<i<<" "<<sz<<" "<<d[i][1]<<endl;
		}
		else
		{
			xitong[tag]=d[i][1];
		}
	}
	int maxlen=0;
	for(int i=1;i<=n;i++)
	{
		//cout<<d[i][1]<<" "<<d[i][0]<<endl;
		if(d[i][0]>maxlen)maxlen=d[i][0];
	}
	cout<<maxlen<<endl<<sz<<endl;
	return 0;
}