#AT1035. 跳跃

跳跃

问题描述

一条数轴上有 NN 个城市。第 ii 个城市位于坐标 xix_i

你的目标是至少访问每个城市一次。

为了达到目标,你首先需要设定一个正整数 DD

然后,你将从坐标 XX 出发,并执行以下两种移动 1122,可以执行任意多次:

  • 移动 1:从坐标 𝑦 移动到坐标 𝑦+𝐷。
  • 移动 2:从坐标 𝑦 移动到坐标 𝑦−𝐷。

找出能够让你访问所有城市的最大 𝐷 的值。

这里,“访问”一个城市意味着到达该城市所在的坐标。

输入

第一行两个整数NXN和X,分别表示城市的数目和起点

第二行NN个数,分别表示城市的坐标

输出

输出能够让你访问所有城市的最大 𝐷𝐷 的值。

3 3
1 7 11
2

【样例解释1】

选取 𝐷=2,它使你能够访问所有城市,具体如下,该 𝐷 的取值为最大值。

  • 执行移动 2 到达坐标 1。
  • 执行移动 1 到达坐标 3
  • 执行移动 1 到达坐标 5。
  • 执行移动 1 到达坐标 7。
  • 执行移动 1 到达坐标 9。
  • 执行移动 1 到达坐标 11。
3 81
33 105 57
24
1 1
1000000000
999999999

提示

输入中的所有值均为整数。

1𝑁1051≤𝑁≤10^5

1𝑋1091≤𝑋≤10^9

1𝑥𝑖1091≤𝑥𝑖≤10^9

𝑥𝑖互不相同𝑥𝑖互不相同

𝑥1,𝑥2,...,𝑥𝑁𝑋𝑥1,𝑥2,...,𝑥𝑁≠𝑋