比赛 20120925 评测结果 AAAAAAAAAA
题目名称 数列游戏 最终得分 100
用户昵称 临轩听雨ゐ 运行时间 0.030 s
代码语言 C++ 内存使用 6.95 MiB
提交时间 2012-09-25 21:47:07
显示代码纯文本
#include <fstream>
#include <cstdlib>
#include <cmath>
#include <cstdio>
using namespace std;
int f[1001][1001]={0};		//代表前i个数中剩下j个数时的最优个数
int main()
{
	ifstream in("seqgame.in");
	ofstream out("seqgame.out");
	int n;
	int a[1001]={0};
	int ans=0;
	in>>n;
	for(int i=1;i<=n;i++) 
		in>>a[i];
	for(int i=1;i<=n; i++)
		for(int j=1; j<=i; j++)
		{
			if(a[i]==j)
			{
				f[i][j]=max(f[i-1][j-1]+1,f[i-1][j]);
				ans=max(ans,f[i][j]);
			}else 
				f[i][j]=max(f[i-1][j-1],f[i-1][j]); 
		}
	out<<ans<<endl;
    return 0;
}