A94813.abc270D - Stones
普及/提高-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
问题陈述
高桥和青木将用序列 (A1,…,AK) 进行取子游戏。
有一堆最初包含 N 的棋子。两位棋手将交替进行以下操作,高桥先下。
- 选择与棋堆中当前棋子数相等的 Ai 。从棋子堆中取出 Ai 颗棋子。
当棋子堆中没有棋子时,游戏结束。
如果双方都试图在对局结束前最大限度地增加所取出的棋子总数,那么高桥将取出多少颗棋子?
数据范围
- 1≤N≤104
- 1≤K≤100
- 1=A1<A2<…<AK≤N
- 输入值均为整数。
输入格式
输入内容由标准输入法提供,格式如下
N K
A1 A2 … AK
输出格式
打印答案
输入输出样例
输入#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 颗棋子。
在这种情况下,高桥取出了 5 颗棋子。他不可能取出 6 或更多的棋子,因此这是最大值。
下面是对局的另一种可能进展,即高桥取出 5 颗棋子。
- 高桥从棋堆中取出 1 颗棋子。
- 青木从棋堆中取出 4 颗棋子。
- 高桥从棋子堆中取出 4 枚棋子。
- 青木从棋子堆中移除 1 个棋子。
样例二解释
下面是一个可能的游戏进程。
- 高桥下出 6 子。
- 青木取出 3 子。
- 高桥移去 2 子。
在这种情况下,高桥移去 8 子。他不可能取出 9 或更多的棋子,因此这是最大值。