AT_abc172_f [ABC172F] Unfair Nim
题目描述
有 $N$ 堆石子,第 $i$ 堆有 $A_i$ 个石子。
青木君和高桥君打算用这些石子玩如下游戏:
- 从青木君开始,轮流进行如下操作:
- 操作:选择一堆石子,从中取走至少 $1$ 个石子。
- 不能进行操作的一方判负。
在双方都采取最优策略的情况下,游戏的胜负仅由初始每堆石子的数量决定。
高桥君希望在游戏开始前,将第 $1$ 堆中的 $0$ 个以上且少于 $A_1$ 个石子移动到第 $2$ 堆,使得作为后手的高桥君能够必胜。
如果可以做到,请输出需要移动的最小石子数;否则输出 $-1$。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $A_1$ $A_2$ $\ldots$ $A_N$
输出格式
输出需要移动的最小石子数。如果无法做到,则输出 $-1$。
说明/提示
### 限制条件
- $2 \leq N \leq 300$
- $1 \leq A_i \leq 10^{12}$
### 样例解释 1
如果不移动石子,青木君可以先从第 $1$ 堆取走 $2$ 个石子,无论高桥君之后如何操作,都会输。如果在游戏开始前从第 $1$ 堆移动 $1$ 个石子到第 $2$ 堆,使得两堆分别为 $4,4$,那么高桥君可以通过合理操作必胜。
### 样例解释 2
不能将石子从第 $2$ 堆移动到第 $1$ 堆。
### 样例解释 3
不能将第 $1$ 堆的所有石子都移动走。
### 样例解释 5
请注意防止溢出。
由 ChatGPT 4.1 翻译