记录编号 403818 评测结果 AAAAAAAAAA
题目名称 [NOIP 1999]拦截导弹 最终得分 100
用户昵称 Gravatarfate1 是否通过 通过
代码语言 C++ 运行时间 0.021 s
提交时间 2017-05-11 19:30:58 内存使用 0.33 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
int nm[1001][3];
using namespace std;
int main()
{
	freopen("missile.in","r",stdin);
	freopen("missile.out","w",stdout);
	int n=1,q;
	while(cin>>q)
	{
		nm[n][1]=q;
		nm[n][2]=1;
		n++;
	}
	n-=1;
	for(int i=1;i<=n;i++)
	{
		cin>>nm[n][1];
		nm[n][2]=1;		
	}
	for(int i=2;i<=n;i++)
	{
		int wwww=0;
		for(int j=1;j<=i-1;j++)
		{
			if((nm[i][1]<=nm[j][1])&&(nm[j][2]>wwww))
			{
				wwww=nm[j][2];
			}
		}
		nm[i][2]=wwww+1;
	}
	int maxl=-5;
	for(int i=1;i<=n;i++)
	{
		if(nm[i][2]>maxl)
			maxl=nm[i][2];
	}
	cout<<maxl<<endl;
	for(int i=1;i<=n;i++)
	{
		nm[i][2]=1;
	}
	for(int i=n-1;i>=1;i--)
	{
		int l=0;
		for(int j=i+1;j<=n;j++)
		{
			if(nm[i][1]<nm[j][1]&&(nm[j][2]>l))
			{
				l=nm[j][2];
			}
		}
		if(l>0)
		{
			nm[i][2]=l+1;
		}
	}
	int k=1;
	for(int i=1;i<=n;i++)
	{
		if(nm[i][2]>nm[k][2])
			k=i;
	}
	cout<<nm[k][2];
	return 0;
}