比赛 防止浮躁的小练习v0.7 评测结果 AAAAAAAAAA
题目名称 拦截导弹 最终得分 100
用户昵称 kxxy 运行时间 0.018 s
代码语言 C++ 内存使用 0.22 MiB
提交时间 2016-10-27 16:08:17
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
	freopen("missile.in","r",stdin);
	freopen("missile.out","w",stdout);
	int i=1,f[1010],a[1010],b[1010],maxx=0,m,n,x,k;
	memset(a,0,sizeof(a));
	memset(b,0,sizeof(b));
	memset(f,0,sizeof(f));
	while(scanf("%d",&a[i])!=EOF)
	{
		maxx=0;
		for(int j=1;j<=i;j++)
			if(a[j]>=a[i])
				if(b[j]>maxx)
					maxx=b[j];
		b[i]=maxx+1;
		if(b[i]>m)
			m=b[i];
		x=0;
		for(k=1;k<=n;k++)
			if(f[k]>=a[i])
				if(x==0)
					x=k;
				else
					if(f[k]<f[x])
						x=k;
			if(x==0)
			{
				n++;
				x=n;
			}
			f[x]=a[i];
			i++;
	}
	cout<<m<<endl<<n;
	return 0;
}