#3078. Unfair Nim

0
    ID: 3078 传统题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>AtCoderabc172FGESP 7级博弈论位运算(复杂)

Unfair Nim

Unfair Nim

题目描述

有 NN 堆石子。第 ii 堆有 AiA_i 个石子。 Aoki 和 Takahashi 将用它们来玩下述游戏:

从 Aoki 开始,两名玩家交替进行以下操作: 操作:选择一堆石子,并从中移走一个或多个石子。

当某位玩家无法进行操作时,他输,另一位玩家赢。

当两位玩家都最优地玩时,该游戏有两种可能性:先手玩家总是获胜,或后手玩家总是获胜,这仅取决于每堆的初始石子数量。 在这种情况下,作为后手的 Takahashi 试图通过在游戏开始前从第 11 堆向第 22 堆移动至少 00 且至多 (A1−1)(A_1 - 1) 个石子来保证他的胜利。 如果这是可能的,输出为了保证他获胜所需移动的最小石子数;否则输出 −1-1。

输入格式

从标准输入读取,格式如下: NN A1A_1 …\ldots ANA_N

输出格式

输出为了保证 Takahashi 胜利所需移动的最小石子数;否则输出 −1-1。

2
5 3
1
2
3 5
-1
3
1 1 2
-1
8
10 9 8 7 6 5 4 3
3
3
4294967297 8589934593 12884901890
1

提示

2≤N≤3002 \leq N \leq 300 1≤Ai≤10121 \leq A_i \leq 10^{12}如果不移动石子,若 Aoki 首先从第 11 堆移走 22 个石子,Takahashi 无论如何都无法获胜。 如果 Takahashi 在游戏开始前从第 11 堆向第 22 堆移动 11 个石子,使得两堆各有 44 个石子,Takahashi 通过恰当选择其动作可以始终获胜。
不允许从第 22 堆向第 11 堆移动石子。
不允许将第 11 堆的所有石子都移动走。
注意溢出。

标签: AtCoder|abc172F

来源

AtCoder|abc172F