TouchStone
  Please Login
Login Sign Up
距离明年CSP第一轮: ??天 距离CSP第二轮: ??天 距离NOIP还有: ??天
 Homepage  Problem Set  Examinations  Submissions  Discussions  Statistics
  • Home
  • Problem Set
  • P5833
  • Problem
  • P5833吃金币
    Limits : Time Limit : - MS   Memory Limit : - KB
    Judgment Tips : 1s,256m
    Description

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

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

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

    Input Format

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

    Output Format

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

    Sample Input 1

    3 3
    1 7 11

    Sample Output 1

    2

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

    Sample Input 2

    3 81
    33 105 57

    Sample Output 2

    24

    Sample Input 3

    1 1
    1000000000

    Sample Output 3

    999999999

    Hint

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


    Source  abc109c