본문으로 이동
코드패스 by Devin.KR

문제 4359 · 바이트 II

비슷한 크기의 회의실 쌍

인증 제출 통계 · 5분마다 갱신 · 정답 비율 = 정답 제출 / 전체 제출
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1000ms / 테스트 (언어별 보정은 아래 표)메모리: 측정하지 않음(브라우저 채점)0000.00%

문제

한 업무 공간에는 크기가 서로 다른 여러 회의실이 있다. 운영자는 예약한 회의실을 사용할 수 없게 되었을 때 안내할 대체 회의실을 정하려 한다. 우선 수용 인원이 가장 비슷한 회의실 두 개를 찾아, 두 회의실을 서로 대체할 수 있는 후보 쌍으로 등록하려 한다. 각 회의실에는 수용 인원이 정수 하나로 기록되어 있다. 두 회의실의 차이는 두 수용 인원의 차이의 절댓값으로 정의한다. 예를 들어 수용 인원이 14명인 회의실과 19명인 회의실의 차이는 5이다. 수용 인원이 같은 서로 다른 회의실을 선택하면 차이는 0이다. 공간의 위치, 설비, 예약 상태 등 다른 정보는 이번 선정에 사용하지 않는다. 후보 쌍에는 반드시 서로 다른 회의실 두 개가 들어가야 한다. 같은 회의실을 두 번 고를 수 없으며, 선택 순서는 구분하지 않는다. 즉 2번 회의실과 5번 회의실을 고른 경우는 5번 회의실과 2번 회의실을 고른 경우와 같은 쌍이다. 반면 수용 인원이 같아도 회의실 번호가 다르면 서로 다른 회의실이다. 운영자는 전체 회의실 쌍 중에서 차이가 가장 작은 값과, 그 차이를 만드는 쌍의 개수를 모두 알고 싶다. 예를 들어 수용 인원이 같은 회의실 세 개가 있다면 이 세 회의실만으로 서로 다른 쌍 세 개를 만들 수 있다. 다른 수용 인원에서도 같은 최소 차이가 나타나면 해당 쌍들도 빠짐없이 개수에 더해야 한다. 입력 순서는 수용 인원의 크기와 관계가 없으며 회의실 번호는 입력 순서대로 1부터 부여한다. 출력에는 개별 후보의 번호를 나열하지 않고 최소 차이와 후보 쌍의 총개수만 기록한다. 회의실은 적어도 두 개가 주어지므로 선택 가능한 쌍은 항상 존재한다. 차이가 같은 쌍들 사이에 별도의 우선순위는 없으며 모두 동등하게 센다.

입력

첫째 줄에 회의실 수 N이 주어진다. N은 2 이상 30,000 이하의 정수이다.
둘째 줄에 각 회의실의 수용 인원을 나타내는 N개의 정수 A가 공백으로 구분되어 주어진다. 각 수용 인원은 1 이상 1,000,000 이하이다. 서로 다른 회의실의 수용 인원이 같을 수 있다.

출력

서로 다른 회의실 두 개의 수용 인원 차이 중 최솟값과, 그 최솟값을 만드는 순서 없는 회의실 쌍의 개수를 공백으로 구분하여 한 줄에 출력한다.

예제 입력 1

6
18 7 18 10 7 18

예제 출력 1

0 4

예제 입력 2

5
21 4 12 8 30

예제 출력 2

4 2

예제 입력 3

2
1 1000000

예제 출력 3

999999 1
힌트 펼치기
  • 수용 인원을 정렬하면 최소 차이를 찾기 쉽다.
  • 최소 차이가 0이면 같은 수용 인원을 가진 회의실의 묶음별로 쌍의 개수를 계산한다.

관련 서재 장

관련 장

출처: Devin.KR 자체 제작

알고리즘 분류정렬조합

풀이 작성

연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.

Python 기본 시간 제한 = 문제 시간 제한 × 3 + 2초. 문제별 예외는 아래 표에 반영됩니다. 표준 라이브러리만 지원합니다.

Ctrl+Enter: 연습 채점 · Tab: 들여쓰기 · Esc 후 Tab: 다음 요소로 이동. 언어별 초안은 이 브라우저에 저장됩니다. JavaScript 입력: require('fs').readFileSync(0, 'utf8'), readline 또는 input().

로그인하면 인증 제출을 사용할 수 있습니다.

풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.

    연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.

    이 브라우저의 연습 기록

      언어별 제한

      테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.

      언어엔진(버전)시간 제한메모리
      javascript사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름)1000ms / 테스트측정하지 않음(브라우저 채점)
      pythonPyodide 314.0.7 (CPython 3.14 WASM)5000ms / 테스트측정하지 않음(브라우저 채점)