比赛 防止浮躁的小练习v0.7 评测结果 AAAAAAAAAA
题目名称 拦截导弹 最终得分 100
用户昵称 Bravo ChaoS 运行时间 0.038 s
代码语言 C++ 内存使用 0.32 MiB
提交时间 2016-10-27 17:11:50
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;

const int maxn=1010;

int n=0,a[maxn],dp[maxn],ans;

int main()
{
	freopen("missile.in","r",stdin);
	freopen("missile.out","w",stdout);
	while(scanf("%d",&a[++n])!=EOF);--n;
	dp[1]=1;
	for(int i=1;i<=n;++i,dp[i]=1) for(int j=1;j<i;++j)
	{
		if(a[i]<a[j] && dp[i]<dp[j]+1) dp[i]=dp[j]+1;
	}
	ans=0;
	for(int i=1;i<=n;++i) ans=max(ans,dp[i]);
	printf("%d\n",ans);
	for(int i=1;i<=n;++i,dp[i]=1) for(int j=1;j<i;++j)
	{
		if(a[i]>=a[j] && dp[i]<dp[j]+1) dp[i]=dp[j]+1;
	}
	ans=0;
	for(int i=1;i<=n;++i) ans=max(ans,dp[i]);
	printf("%d",ans);
	return 0;
}