점수가 가장 가까운 두 학생

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

요약
학생들의 점수 목록이 주어질 때, 두 점수의 차이가 가장 작은 쌍을 찾아 그 차이를 구한다.
난이도

쉬움10점 중 3점

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

문제

쓰쿠바 박사는 새로운 프로그래밍 훈련법을 고안했다. 이 훈련법의 효과를 확인하려고 대조 실험을 계획한다. 실험에는 학생 두 명이 참가하고, 한 명은 기존 훈련법으로, 다른 한 명은 새 훈련법으로 훈련한다. 두 학생의 최종 점수를 비교하면 새 훈련법의 효과를 판단할 수 있다.

비교를 공정하게 하려면 점수가 최대한 가까운 두 학생을 골라야 한다. 박사에게는 실험에 참가할 수 있는 학생 전원의 점수 목록이 있다. 점수 차이가 가장 작은 두 학생을 고르는 프로그램을 작성하라.

입력

입력은 여러 개의 데이터 세트로 이루어지고, 각 데이터 세트의 형식은 다음과 같다.

n
a1 a2 … an

데이터 세트는 두 줄이다. 첫째 줄에 학생 수 nn이 주어진다. nn은 2≤n≤10002 \le n \le 1000인 정수다. 둘째 줄에 학생 nn명의 점수가 주어진다. aia_i (1≤i≤n)(1 \le i \le n)는 ii번째 학생의 점수이고, 1,000,0001{,}000{,}000 이하의 음이 아닌 정수다.

입력의 끝은 00 하나만 있는 줄로 나타난다. 모든 데이터 세트의 nn을 더한 값은 50,00050{,}000을 넘지 않는다.

출력

각 데이터 세트마다 점수 차이가 가장 작은 두 학생을 고르고, 그 차이의 절댓값을 한 줄에 출력한다.

예제4

  1. 예제 1

    입력
    5
    10 10 10 10 10
    5
    1 5 8 9 11
    7
    11 34 83 47 59 29 70
    0
    
    예상 출력
    0
    1
    5
    
  2. 예제 2

    입력
    2
    0 1000000
    0
    
    예상 출력
    1000000
    
  3. 예제 3

    입력
    2
    1000000 1000000
    0
    
    예상 출력
    0
    
  4. 예제 4

    입력
    6
    1000000 3 999999 500 4 800000
    0
    
    예상 출력
    1