SZ#G6DP20. 【GESP强化 六级】取石子游戏

提交1 通过1
通过率100%
时间限制2000ms
内存限制256MiB
    ID: 11534 传统题 2000ms 256MiB 尝试: 1 已通过: 1 难度: 入门 上传者: 标签>GESPGESP强化C++c++编程题简单序列型DP一维DP博弈1星

题目描述

题目翻译

小泽和小珅在玩一个取石子的游戏。

刚开始,有 NN 个石子,还有一个长度为 KK 的序列 A={A1,A2,,AK}A = \{A_1,A_2,\cdots,A_K\}

现在,他们要按照以下规则轮流取石子:

  • 对于每次操作,他可以选择一个 ii1iK1 \leq i \leq K),这时他会取走 AiA_i 块石子。

  • 当一个人没法取石子时,游戏结束。

现在,小泽先取石子,小珅后取石子。 他们都想尽可能的最大化他们自己取走的石子数量。

若他们都以最优策略取石子,最后小泽会取走多少块石子?

输入格式

第一行两个正整数 N,KN, K

第二行有 KK 个正整数,其中第 ii 个表示 AiA_i

输出格式

一行一个正整数,表示若他们都以最优策略取石子,最后小泽取走的石子数量。

10 2
1 4
5
11 4
1 2 3 6
8
10000 10
1 2 4 8 16 32 64 128 256 512
5136

说明/提示

对于 100%100\% 的数据,保证:

  • 1N1041 \leq N \leq 10^4
  • 1K1001 \leq K \leq 100
  • 1=A1<A2<<AKN1 = A_1 < A_2 < \cdots < A_K \leq N