같은 나머지

면접 대비

시간 제한2초메모리 제한128 MB

요약
수열이 주어질 때 모든 수를 나누었을 때 나머지가 같아지는 가장 큰 나눗수 D를 구하는 문제입니다.
난이도

보통10점 중 4점

유형
정수론, 수학, 배열
정답자
아직 제출이 없습니다

문제

정수 N을 정수 D로 나누었을 때의 몫을 Q, 나머지를 R이라고 하면 R = N - Q × D가 성립한다.

n개의 정수로 이루어진 수열이 주어진다. 이 수열의 모든 정수를 같은 정수 D로 나누었을 때 나머지가 모두 같을 수 있다. 수열에 따라 그런 D가 여러 개 존재할 수도 있다.

주어진 수열에 대해 가능한 D 중 가장 큰 값을 구하라.

입력

첫째 줄에 n(1 ≤ n ≤ 1,000)이 주어진다. 둘째 줄에는 절댓값이 1,000,000을 넘지 않는 정수 n개가 주어진다.

출력

첫째 줄에 가능한 가장 큰 D를 출력한다. 입력은 항상 그런 값이 존재하는 경우만 주어진다.

예제3

  1. 예제 1

    입력
    4
    701 1059 1417 2312
    
    예상 출력
    179
    
  2. 예제 2

    입력
    5
    14 23 17 32 122
    
    예상 출력
    3
    
  3. 예제 3

    입력
    5
    14 -22 17 -31 -124
    
    예상 출력
    3