#abc109c. [abc109_c]Skip

[abc109_c]Skip

题目描述

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

你的目标是至少访问一次所有这些城市。

为了实现这个目标,你首先要设置一个正整数 DD

然后,你可以根据以下两种移动方式,任意多次地从坐标 yy 移动到坐标 y+Dy+DyDy-D

  • 移动方式 11:从坐标 yy 移动到坐标 y+Dy + D
  • 移动方式 22:从坐标 yy 移动到坐标 yDy - D

找出最大的 DD 值,使你能够访问所有城市。

这里,访问一个城市意味着移动到该城市所在的坐标位置。

约束条件

  • 输入中的所有值都是整数。
  • 1leqNleq1051 \\leq N \\leq 10^5
  • 1leqXleq1091 \\leq X \\leq 10^9
  • 1leqxileq1091 \\leq x_i \\leq 10^9
  • xix_i 互不相同。
  • x1,x2,...,xNneqXx_1, x_2, ..., x_N \\neq X

输入

输入以以下格式从标准输入中给出:

NN XX x1x_1 x2x_2 ...... xNx_N

输出

打印出能够访问所有城市的最大 DD 值。


示例输入 1

3 3
1 7 11

示例输出 1

2

设置 D=2D = 2 可以按照如下方式访问所有城市,并且这是能够实现的最大 DD 值。

  • 执行移动方式 22,从坐标 11 移动到坐标 33
  • 执行移动方式 11,从坐标 33 移动到坐标 55
  • 执行移动方式 11,从坐标 55 移动到坐标 77
  • 执行移动方式 11,从坐标 77 移动到坐标 99
  • 执行移动方式 11,从坐标 99 移动到坐标 1111

示例输入 2

3 81
33 105 57

示例输出 2

24

示例输入 3

1 1
1000000000

示例输出 3

999999999