숨바꼭질 6

면접 대비

시간 제한1초메모리 제한512 MB

요약
수빈의 위치 S와 N명의 동생 위치가 주어질 때, S에서 +D 또는 -D씩 이동해 모든 동생에게 도달할 수 있는 최대 D를 구한다.
난이도

보통10점 중 4점

유형
수학, 정수론, 그리디, 구현
정답자
아직 제출이 없습니다

문제

수빈이는 동생 N명과 숨바꼭질을 하고 있다. 수빈이는 현재 점 S에 있고, 동생은 A1, A2, ..., AN에 있다.

수빈이는 걸어서 이동을 할 수 있다. 수빈이의 위치가 X일 때 걷는다면 1초 후에 X+D나 X-D로 이동할 수 있다. 수빈이의 위치가 동생이 있는 위치와 같으면, 동생을 찾았다고 한다.

모든 동생을 찾기 위해 D의 값을 정하려고 한다. 가능한 D의 최댓값을 구해보자.

입력

첫째 줄에 N(1 ≤ N ≤ 105)과 S(1 ≤ S ≤ 109)가 주어진다. 둘째 줄에 동생의 위치 Ai(1 ≤ Ai ≤ 109)가 주어진다. 동생의 위치는 모두 다르며, 수빈이의 위치와 같지 않다.

출력

가능한 D값의 최댓값을 출력한다.

예제3

  1. 예제 1

    입력
    3 3
    1 7 11
    
    예상 출력
    2
    
  2. 예제 2

    입력
    3 81
    33 105 57
    
    예상 출력
    24
    
  3. 예제 3

    입력
    1 1
    1000000000
    
    예상 출력
    999999999