比赛 20120925 评测结果 AAAAAAAAAA
题目名称 数列游戏 最终得分 100
用户昵称 王者自由 运行时间 0.029 s
代码语言 C++ 内存使用 4.67 MiB
提交时间 2012-09-25 21:14:34
显示代码纯文本
  1. #include <cstdio>
  2. #include <algorithm>
  3. using namespace std;
  4. const int N = 1000 + 10, INF = 0x7ffffff;
  5. int n, a[N], f[N][N], s;
  6. int main() {
  7. freopen("seqgame.in", "r", stdin);
  8. freopen("seqgame.out", "w", stdout);
  9. scanf("%d", &n);
  10. for(int i=1; i<=n; i++)
  11. scanf("%d", a+i);
  12. for(int i=1; i<=n; i++) {
  13. f[i][0] = f[i-1][0] + (a[i] == i);
  14. for(int j=1; j<i; j++)
  15. f[i][j] = max(f[i-1][j] + (a[i] == i - j), f[i-1][j-1]);
  16. }
  17. s = *max_element(f[n]+1, f[n]+n+1);
  18. printf("%d\n", s);
  19. return 0;
  20. }