A6953 | abc270D - Stones
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
问题陈述
高桥和青木将用序列 $(A_1, \ldots, A_K)$ 进行取子游戏。
有一堆最初包含 $N$ 的棋子。两位棋手将交替进行以下操作,高桥先下。
- 选择与棋堆中当前棋子数相等的 $A_i$ 。从棋子堆中取出 $A_i$ 颗棋子。
- $1 \leq N \leq 10^4$
- $1 \leq K \leq 100$
- $1 = A_1 A_2 \ldots A_K \leq N$
- 输入值均为整数。
当棋子堆中没有棋子时,游戏结束。
如果双方都试图在对局结束前最大限度地增加所取出的棋子总数,那么高桥将取出多少颗棋子?
数据范围
输入格式
输入内容由标准输入法提供,格式如下
$N$ $K$
$A_1$ $A_2$ $\ldots$ $A_K$
$N$ $K$
$A_1$ $A_2$ $\ldots$ $A_K$
输出格式
打印答案
输入输出样例
输入 #1
10 2 1 4
输出 #1
5
输入 #2
11 4 1 2 3 6
输出 #2
8
输入 #3
10000 10 1 2 4 8 16 32 64 128 256 512
输出 #3
5136
样例一解释
下面是一个可能的游戏进程。
- 高桥从棋堆中取出 $4$ 颗棋子。
- 青木从棋堆中取出 $4$ 颗棋子。
- 高桥从棋堆中取出 $1$ 颗棋子。
- 青木从棋子堆中取出 $1$ 颗棋子。
- 高桥从棋堆中取出 $1$ 颗棋子。
- 青木从棋堆中取出 $4$ 颗棋子。
- 高桥从棋子堆中取出 $4$ 枚棋子。
- 青木从棋子堆中移除 $1$ 个棋子。
- 高桥下出 $6$ 子。
- 青木取出 $3$ 子。
- 高桥移去 $2$ 子。
在这种情况下,高桥取出了 $5$ 颗棋子。他不可能取出 $6$ 或更多的棋子,因此这是最大值。
下面是对局的另一种可能进展,即高桥取出 $5$ 颗棋子。
样例二解释
下面是一个可能的游戏进程。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?