[ARC168B] Arbitrary Nim

题意翻译

有 $n$ 堆石子,第 $i$ 堆有 $A_i$ 颗石子。 你需要选择一个正整数 $k$。然后 Alice 和 Bob 会按照以下规则玩游戏: + Alice 先手,双方轮流操作。 + 每次操作时,先选择一个非空的堆,再从中拿出 $x$ 颗石子,需要满足 $x\in [1,k]$。 不能操作的人输。你想找到一个 $k$ 使得 Alice 存在必胜策略。 如果没有 $k$ 使得 Alice 存在必胜策略,输出 `0`。 如果存在 $k$ 使得 Alice 有必胜策略,但不存在合法的最大的 $k$,输出 `-1`。 否则输出最大的合法的 $k$。 translated by 342873

题目描述

[problemUrl]: https://atcoder.jp/contests/arc168/tasks/arc168_b 石の山が $ N $ 個あり,$ i $ 番目 ($ 1\ \leq\ i\ \leq\ N $) の山には $ A_i $ 個の石が積まれています. あなたは今から正整数 $ k $ を選びます. その後,Alice と Bob がこの山を使って以下のようなゲームを行います. - Alice から始めて両者は交互に手番をプレイする. - 各手番では,プレイヤーは空でない山を一つ選び,その山から $ 1 $ 個以上 $ k $ 個以下の好きな個数の石を取り除く. 自分の手番で操作が行えなくなった人が負けで,負けなかった人が勝ちです. あなたは正整数 $ k $ を選ぶとき,Alice に必勝法が存在するようにしたいです. そのような $ k $ が存在するか判定してください. 存在する場合は,そのような $ k $ の最大値が存在するか判定してください. 最大値が存在する場合は,その値を答えてください.

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる. > $ N $ $ A_1 $ $ A_2 $ $ \cdots $ $ A_N $

输出格式


Alice に必勝法が存在するような $ k $ が存在しない場合,$ 0 $ を出力せよ. Alice に必勝法が存在するような $ k $ が存在するが,その最大値が存在しない場合,$ -1 $ を出力せよ. Alice に必勝法が存在するような $ k $ が存在し,その最大値も存在する場合,その値を出力せよ.

输入输出样例

输入样例 #1

3
1 2 3

输出样例 #1

2

输入样例 #2

4
1 2 3 4

输出样例 #2

-1

输入样例 #3

2
100 100

输出样例 #3

0

说明

### 制約 - $ 1\ \leq\ N\ \leq\ 250000 $ - $ 1\ \leq\ A_i\ \leq\ 10^9 $ - 入力される値はすべて整数. ### Sample Explanation 1 例えば,$ k=2 $ とすると Alice に必勝法が存在します. $ 3\ \leq\ k $ を選んだ場合は Alice に必勝法が存在しないので,$ k=2 $ が答えです. ### Sample Explanation 2 例えば,すべての $ k=100,200,300,\cdots $ に対して Alice に必勝法が存在します. よって $ k $ の最大値は存在しないため,$ -1 $ を出力します. ### Sample Explanation 3 どのような $ k $ を選んでも Alice に必勝法は存在しません. よって $ 0 $ を出力します.