AT_abc109_c [ABC109C] Skip
Description
[problemUrl]: https://atcoder.jp/contests/abc109/tasks/abc109_c
数直線上に $ N $ 個の都市があり、$ i $ 番目の都市は座標 $ x_i $ にあります。
あなたの目的は、これら全ての都市を $ 1 $ 度以上訪れることです。
あなたは、はじめに正整数 $ D $ を設定します。
その後、あなたは座標 $ X $ から出発し、以下の移動 $ 1 $、移動 $ 2 $ を好きなだけ行います。
- 移動 $ 1 $: 座標 $ y $ から座標 $ y\ +\ D $ に移動する
- 移動 $ 2 $: 座標 $ y $ から座標 $ y\ -\ D $ に移動する
全ての都市を $ 1 $ 度以上訪れることのできる $ D $ の最大値を求めてください。
ここで、都市を訪れるとは、その都市のある座標に移動することです。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ X $ $ x_1 $ $ x_2 $ $ ... $ $ x_N $
Output Format
全ての都市を $ 1 $ 度以上訪れることのできる $ D $ の最大値を出力せよ。
Explanation/Hint
### 制約
- 入力はすべて整数である
- $ 1\ \leq\ N\ \leq\ 10^5 $
- $ 1\ \leq\ X\ \leq\ 10^9 $
- $ 1\ \leq\ x_i\ \leq\ 10^9 $
- $ x_i $ はすべて異なる
- $ x_1,\ x_2,\ ...,\ x_N\ \neq\ X $
### Sample Explanation 1
$ D\ =\ 2 $ と設定すれば次のように移動を行うことですべての都市を訪れることができ、これが最大です。 - 移動 $ 2 $ を行い、座標 $ 1 $ に移動する - 移動 $ 1 $ を行い、座標 $ 3 $ に移動する - 移動 $ 1 $ を行い、座標 $ 5 $ に移動する - 移動 $ 1 $ を行い、座標 $ 7 $ に移動する - 移動 $ 1 $ を行い、座標 $ 9 $ に移動する - 移動 $ 1 $ を行い、座標 $ 11 $ に移動する