만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

절대적으로 산성인

면접 대비

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

요약
1에서 1000 사이의 수치 빈도를 세고, 동점 처리 규칙에 따라 뺄셈할 두 수치를 정한다.
난이도

쉬움10점 중 3점

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

문제

매우 긴 강의 건강 상태를 파악하기 위해 강을 따라 산성도(acidity)를 측정합니다. 강에 NN개의 센서(2≤N≤2 000 0002 \le N \le 2\,000\,000)를 설치했으며, 각 센서는 정수 측정값 RR(1≤R≤10001 \le R \le 1000)을 보고합니다.

각 측정값이 몇 번 나타나는지 센 다음, 가장 자주 나타나는 두 측정값의 절댓값 차이를 다음 규칙에 따라 구하세요.

  • 가장 높은 빈도를 가지는 측정값이 셋 이상이면, 그 최고 빈도를 가지는 두 측정값 사이의 절댓값 차이 중 가장 큰 값을 출력합니다.
  • 가장 높은 빈도를 가지는 측정값이 정확히 하나뿐이지만 두 번째로 높은 빈도를 가지는 측정값이 둘 이상이면, 최고 빈도 측정값과 두 번째로 높은 빈도를 가지는 측정값 사이의 절댓값 차이 중 가장 큰 값을 출력합니다.

입력

첫 번째 줄에는 센서의 개수를 나타내는 정수 NN(2≤N≤2 000 0002 \le N \le 2\,000\,000)이 주어집니다. 이어지는 NN개의 줄에는 각 센서의 측정값인 정수 RR(1≤R≤10001 \le R \le 1000)이 한 줄에 하나씩 주어집니다. 입력에는 서로 다른 측정값이 적어도 두 개 있다고 가정해도 됩니다.

출력

위의 동점 처리 규칙을 적용하여, 가장 자주 나타나는 두 측정값 사이의 절댓값 차이를 나타내는 양의 정수 하나를 출력합니다.

예제2

  1. 예제 1

    입력
    5
    1
    1
    1
    4
    3
    
    예상 출력
    3
    
  2. 예제 2

    입력
    4
    10
    6
    1
    8
    
    예상 출력
    9