记录编号 42640 评测结果 AAAAAAAAAA
题目名称 [NOIP 2010冲刺六]数列游戏 最终得分 100
用户昵称 Gravatar临轩听雨ゐ 是否通过 通过
代码语言 C++ 运行时间 0.031 s
提交时间 2012-09-27 19:01:06 内存使用 5.57 MiB
显示代码纯文本
#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;
}