100 atcoder#ABC109C. [ABC109C] Skip

[ABC109C] Skip

题目描述

数直線上に N N 個の都市があり、i i 番目の都市は座標 xi x_i にあります。

あなたの目的は、これら全ての都市を 1 1 度以上訪れることです。

あなたは、はじめに正整数 D D を設定します。

その後、あなたは座標 X X から出発し、以下の移動 1 1 、移動 2 2 を好きなだけ行います。

  • 移動 1 1 : 座標 y y から座標 y + D y\ +\ D に移動する
  • 移動 2 2 : 座標 y y から座標 y  D y\ -\ D に移動する

全ての都市を 1 1 度以上訪れることのできる D D の最大値を求めてください。

ここで、都市を訪れるとは、その都市のある座標に移動することです。

输入格式

入力は以下の形式で標準入力から与えられる。

N N X X x1 x_1 x2 x_2 ... ... xN x_N

输出格式

全ての都市を 1 1 度以上訪れることのできる D D の最大値を出力せよ。

题目大意

一条笔直公路上分布有 NN 座城市,第 ii 座城市的坐标为 PiP_i

开始时一人位于 XX 位置,每次只可以可以向左或向右 DD 个单位,问若要此人遍历全部城市, DD 值最大可为多少?

3 3
1 7 11
2
3 81
33 105 57
24
1 1
1000000000
999999999

提示

制約

  • 入力はすべて整数である
  • 1  N  105 1\ \leq\ N\ \leq\ 10^5
  • 1  X  109 1\ \leq\ X\ \leq\ 10^9
  • 1  xi  109 1\ \leq\ x_i\ \leq\ 10^9
  • xi x_i はすべて異なる
  • x1, x2, ..., xN  X x_1,\ x_2,\ ...,\ x_N\ \neq\ X

Sample Explanation 1

D = 2 D\ =\ 2 と設定すれば次のように移動を行うことですべての都市を訪れることができ、これが最大です。 - 移動 2 2 を行い、座標 1 1 に移動する - 移動 1 1 を行い、座標 3 3 に移動する - 移動 1 1 を行い、座標 5 5 に移動する - 移動 1 1 を行い、座標 7 7 に移動する - 移動 1 1 を行い、座標 9 9 に移動する - 移動 1 1 を行い、座標 11 11 に移動する