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

문제 4616 · 바이트 III

캠핑장 상자에 맞는 묶음

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

문제

한 캠핑장은 대여용 고정 핀을 보관하는 상자 N개를 관리한다. 상자는 1번부터 N번까지 번호가 붙어 있으며, i번 상자에는 고정 핀이 A_i개 들어 있다. 관리자는 다음 예약에 대비하여 각 상자의 핀을 같은 크기의 묶음으로 나누려 한다. 묶음 하나에 들어가는 핀의 개수를 양의 정수 d로 정하면, 모든 상자에서 정확히 d개씩 꺼내 묶음을 만든다. 상자마다 핀의 종류가 다르므로 서로 다른 상자의 핀을 섞을 수 없다. 핀을 다른 상자로 옮기거나, 일부를 버리거나, 새 핀을 추가하는 것도 허용하지 않는다. 따라서 모든 상자에서 묶음을 만든 뒤 남는 핀이 하나도 없어야 한다. 예를 들어 핀이 18개인 상자는 d가 6이면 세 묶음으로 나눌 수 있지만, d가 4이면 핀 두 개가 남으므로 그 크기를 사용할 수 없다. 관리자가 사용하는 포장 도구는 한 묶음에 핀을 최대 K개까지만 넣을 수 있다. 그러므로 선택하는 d는 1 이상 K 이하인 정수여야 한다. 이 제한은 상자마다 따로 적용하는 값이 아니라 캠핑장 전체에서 사용하는 하나의 묶음 크기에 대한 제한이다. 각 상자에서 만들어지는 묶음의 개수는 서로 달라도 되며, 전체 묶음 개수를 맞출 필요는 없다. 관리자는 포장 횟수를 줄이기 위해 조건을 만족하는 d 중 가장 큰 값을 선택한다. 상자가 하나뿐인 경우에도 같은 규칙을 적용하며, K가 상자의 핀 개수보다 크더라도 핀이 없는 묶음을 만들 수는 없다. 모든 A_i가 양의 정수이므로 d를 1로 정하는 방법은 항상 가능하다. 따라서 답이 없는 입력은 주어지지 않으며, 가장 큰 묶음 크기는 하나로 정해진다. 상자에 들어 있는 핀의 개수와 포장 도구의 제한이 주어질 때, 관리자가 선택할 묶음 크기를 구하는 프로그램을 작성한다.

입력

첫째 줄에 정수 N과 K가 공백으로 주어진다. 둘째 줄에 정수 A_1, A_2, …, A_N이 공백으로 주어진다.
1 ≤ N ≤ 20,000, 1 ≤ K ≤ 100,000, 1 ≤ A_i ≤ 100,000이다.

출력

모든 A_i를 나누어떨어지게 하는 1 이상 K 이하의 정수 중 가장 큰 값을 출력한다.

예제 입력 1

3 5
24 36 60

예제 출력 1

4

예제 입력 2

2 1
7 11

예제 출력 2

1

예제 입력 3

1 100
72

예제 출력 3

72
힌트 펼치기
  • 모든 상자의 핀 개수를 나누어떨어지게 하는 수는 최대공약수의 약수다.

관련 서재 장

관련 장

출처: 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 / 테스트측정하지 않음(브라우저 채점)