문제 3545 · 비트 I
공연장 좌석 묶음
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
작은 공연장에서 단체 관람객에게 나누어 줄 좌석 묶음을 준비한다. 이번 공연에 사용할 좌석은 모두 N개이며, 준비한 좌석을 하나도 남기지 않고 여러 묶음으로 나누려 한다. 각 묶음에 들어가는 좌석 수는 모두 같아야 한다. 좌석에 붙은 번호나 실제로 놓인 위치는 묶음을 만드는 데 영향을 주지 않는다. 담당자는 한 묶음에 들어갈 좌석 수를 정수 k로 정한다. 그러면 모든 묶음은 정확히 k개의 좌석으로 이루어져야 하며, 마지막 묶음만 다른 수의 좌석을 갖도록 만들 수는 없다. 따라서 N을 k로 나누었을 때 나머지가 0인 경우에만 그 크기로 묶음을 만들 수 있다. 묶음이 하나만 만들어져도 괜찮으며, 한 묶음에 좌석이 하나만 들어가는 것도 허용한다. 단체 예약 안내에는 한 묶음의 좌석 수가 L개 이상 R개 이하여야 한다고 적혀 있다. 두 경계값도 허용되는 크기에 포함된다. N을 남김없이 나눌 수 있더라도 이 범위를 벗어나는 크기는 선택할 수 없다. 또한 좌석을 추가하거나 일부 좌석을 사용하지 않는 방법으로 범위를 맞추어서는 안 된다. 담당자는 조건을 만족하는 크기 가운데 가장 큰 값을 선택하려 한다. 같은 조건에서 작은 묶음을 많이 만드는 것보다 큰 묶음을 적게 만드는 것을 우선하기 때문이다. 구하려는 값은 만들어지는 묶음의 개수가 아니라 한 묶음에 들어가는 좌석 수 k이다. 예를 들어 어떤 크기를 검사할 때에는 먼저 그 크기가 안내된 범위에 들어가는지 확인하고, 이어서 전체 좌석을 그 크기로 정확히 나눌 수 있는지 확인하면 된다. 가능한 크기가 여러 개라면 가장 큰 정수 하나가 답이므로 별도의 동점 처리는 필요하지 않다. 가능한 크기가 하나도 없다면 좌석 묶음 준비가 불가능하다는 뜻으로 0을 출력한다. N, L, R이 주어졌을 때 담당자가 선택할 값을 구하는 프로그램을 작성한다.
입력
첫째 줄에 정수 N, L, R이 공백으로 구분되어 주어진다. 1 ≤ N ≤ 1,000 1 ≤ L ≤ R ≤ 1,000
출력
조건을 만족하는 한 묶음의 좌석 수 중 최댓값을 정수 하나로 출력한다. 조건을 만족하는 값이 없으면 0을 출력한다.
예제 입력 1
84 5 15
예제 출력 1
14
예제 입력 2
17 3 10
예제 출력 2
0
예제 입력 3
1 1 1
예제 출력 3
1
힌트 펼치기
- L부터 R까지의 정수 중 N을 나누어떨어지게 하는 값을 찾는다.
관련 서재 장
알고리즘 분류
정수론약수완전 탐색풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |