比赛 20120330 评测结果 AAAAAAAAAA
题目名称 导弹系统 最终得分 100
用户昵称 Makazeu 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2012-03-30 20:07:32
显示代码纯文本
#include <cstdlib>
#include <cstdio>
#include <cstring>
using namespace std;
const int MAXN=1002;
int Ans=0;
int Num[MAXN];
int F[MAXN][2];
int N;

inline int Max(int a,int b) {return a>b?a:b;}

void dp()
{
	for(int i=1;i<=N;i++)
	{
		for(int j=0;j<i;j++)
		{
			if(Num[i]>Num[j]) F[i][0]=Max(F[i][0],F[j][1]+1);
			if(Num[i]<Num[j]) F[i][1]=Max(F[i][1],F[j][0]+1);
			Ans=Max(F[i][0],Ans);
			Ans=Max(F[i][1],Ans);
		}
	}
}

void init()
{
	Num[1]=-10000000;
	for(scanf("%d\n",&N);N;scanf("%d\n",&N))
	{
		Ans=0;
		memset(F,0,sizeof(F));
		for(int i=1;i<=N;i++) scanf("%d",&Num[i]);
		dp();
		printf("%d\n",Ans);
	}
}

int main()
{
	freopen("missilea.in","r",stdin);
	freopen("missilea.out","w",stdout);
	init();
	return 0;
}