문제 3259 · 비트 I
출금할 창구 고르기
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 은행에는 현금을 출금할 수 있는 창구가 두 곳 있으며, 각각 1번 창구와 2번 창구라고 부른다. 은행은 방문객이 창구 앞을 오가며 줄을 바꾸지 않도록 입구의 안내 화면에서 이용할 창구를 하나 정해 준다. 이번에 들어온 방문객은 X원을 출금하려고 한다. 각 창구에는 한 번의 방문으로 출금할 수 있는 금액의 상한이 정해져 있다. 1번 창구의 상한은 A원이고, 2번 창구의 상한은 B원이다. 출금하려는 금액이 어떤 창구의 상한 이하이면 그 창구를 이용할 수 있다. 상한과 정확히 같은 금액도 출금할 수 있다. 반대로 상한보다 큰 금액은 해당 창구에서 출금할 수 없다. 출금할 금액을 나누어 두 창구에서 처리하거나, 일부 금액만 출금하는 것은 허용하지 않는다. 안내 화면에는 지금 줄을 섰을 때 창구 업무를 시작하기까지 기다릴 시간도 표시된다. 1번 창구의 대기 시간은 P분이고, 2번 창구의 대기 시간은 Q분이다. 대기 시간이 0분이면 곧바로 업무를 시작할 수 있다는 뜻이다. 안내에 쓰는 동안 출금 상한과 대기 시간은 변하지 않으며, 두 창구의 실제 출금 업무에 걸리는 시간은 비교하지 않는다. 안내 화면은 다음 규칙으로 번호를 정한다. 이용할 수 있는 창구가 하나뿐이면 그 창구를 안내한다. 두 창구를 모두 이용할 수 있으면 대기 시간이 더 짧은 창구를 안내한다. 두 대기 시간이 같으면 번호가 작은 1번 창구를 안내한다. 어느 창구에서도 원하는 금액을 출금할 수 없으면 창구를 안내하지 않고 0을 표시한다. 이용할 수 없는 창구는 대기 시간이 짧더라도 선택하지 않는다. 출금 금액, 두 창구의 출금 상한과 대기 시간이 주어질 때 안내 화면에 표시할 번호를 구하는 프로그램을 작성한다.
입력
첫째 줄에 정수 X, A, B, P, Q가 공백으로 구분되어 주어진다. X는 출금하려는 금액, A와 B는 각각 1번과 2번 창구의 출금 상한, P와 Q는 각각 1번과 2번 창구의 대기 시간이다. 1 ≤ X, A, B ≤ 1,000이다. 0 ≤ P, Q ≤ 1,000이다.
출력
안내할 창구의 번호 1 또는 2를 출력한다. 이용할 수 있는 창구가 없으면 0을 출력한다.
예제 입력 1
360 360 800 7 7
예제 출력 1
1
예제 입력 2
720 600 900 0 18
예제 출력 2
2
예제 입력 3
950 700 949 3 0
예제 출력 3
0
힌트 펼치기
- 각 창구를 이용할 수 있는지 먼저 판단한 뒤, 두 창구를 모두 이용할 수 있을 때만 대기 시간을 비교한다.
관련 서재 장
알고리즘 분류
조건 분기풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |