#P12740. [POI 2016 R2] 不是 Nim 游戏 Not Nim

[POI 2016 R2] 不是 Nim 游戏 Not Nim

题目背景

翻译来自于 LibreOJ

题目描述

题目译自 XXIII Olimpiada Informatyczna — II etap Wcale nie Nim

Bajtoni 和他的弟弟 Bajtuś 经常玩 Nim 游戏。Bajtoni 曾向弟弟讲解过游戏的制胜策略,但 Bajtuś 总是难以掌握,常常输掉比赛。因此,他不断提出修改游戏规则的建议,希望让游戏变得更简单。

最近,Bajtuś 提出了一个新玩法:游戏有 nn 对堆,每对中的两个堆初始各有 aia_i 个石头。两位玩家轮流行动。Bajtuś 在他的回合可以从任意一个堆中取走任意非零数量的石头。而 Bajtoni 在他的回合则从某对堆中选择一个堆,取走任意非零数量的石头,并将这些石头放入该对的另一个堆中。Bajtuś 率先行动。无法行动的玩家输掉游戏。

Bajtoni 很快发现,按照这样的规则,他几乎没有胜算。但为了不让弟弟失望,他同意试玩几局。然而,他暗自下定决心,要尽可能延长游戏时间,推迟不可避免的失败。请帮助 Bajtoni 编写程序,计算在双方都采取最优策略(Bajtuś 追求最快胜利,Bajtoni 追求最长游戏时间)的情况下,游戏最多能持续多少回合。

输入格式

第一行包含一个正整数 nn,表示堆对的数量。

第二行包含 nn 个正整数 a1,a2,,ana_1, a_2, \ldots, a_n,表示每对堆的初始石头数量。

输出格式

输出一行,包含一个整数,表示在双方最优策略下,游戏结束前的总回合数。

2
1 2
7

提示

样例 1 解释

最优游戏过程可能如下:

$$1122 \rightarrow 1120 \rightarrow 1111 \rightarrow 1110 \rightarrow 1101 \rightarrow 1100 \rightarrow 2000 \rightarrow 0000 $$

详细子任务附加限制及分值如下表所示。

子任务 附加限制 分值
11 n=1n=1 1010
22 ai10\sum a_i \leq 10
33 n3n \leq 3 2020
44 n3000n \leq 3000
55 n500000n \leq 500000 4040

对于所有子任务,ai109a_i \leq 10^9