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