TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P5833
  • 题目
  • P5833吃金币
    限制 : 时间限制 : - MS   空间限制 : - KB
    评测说明 : 1s,256m
    问题描述

    何老板在玩一款小游戏,游戏虽然简单,他仍乐此不疲。
    游戏中,沿着一条笔直公路,分布有N块金币。我们可以把公路当作数轴,把每块金币都看作数轴上的点。其中第i块金币的坐标为 \(x_i\)

    何老板操控一只青蛙去吃金币,青蛙跳跃运动,若落点处有金币,青蛙就会吃掉它。开始时青蛙位于X位置。游戏玩家可以给青蛙设定一个弹跳值D,每次跳跃的跨度为D。也就是说,若当前青蛙位于Y位置,那么下一个位置可以是Y+D或Y-D。

    何老板打算操控青蛙吃掉所有的金币,他想知道D值最大可以设定成多少?

    输入格式

    第一行,两个整数N和X
    第二行,N个整数,依次表示每块金币的坐标

    输出格式

    一个整数,表示最大的D值

    样例输入 1

    3 3
    1 7 11

    样例输出 1

    2

    样例说明:
    青蛙访问的点的顺序为3 1 3 5 7 9 11

    样例输入 2

    3 81
    33 105 57

    样例输出 2

    24

    样例输入 3

    1 1
    1000000000

    样例输出 3

    999999999

    提示

    \(1≤N≤10^5\)
    \(1≤X≤10^9\)
    \(1≤x_i≤10^9\)
    所有金币的坐标都不相同


    来源  abc109c