[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 $ を出力します.