TouchStone
  Please Login
ログイン 登録
距离明年CSP第一轮: ??天 距离CSP第二轮: ??天 距离NOIP还有: ??天
 ホームページ  問題セット  試験一覧  提出状況  掲示板  統計情報
  • ホーム
  • 問題セット
  • 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