문제 3015 · 비트 V
한 번만 조절하는 투입 장치
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
작은 부품을 만드는 공장 생산 라인에는 재료를 일정한 양만큼 내려보내는 투입 장치가 있다. 작업자는 생산을 시작하기 전에 시험 용기에 재료를 한 번 받아 무게를 잰다. 이때 측정한 무게가 A이고, 이번 생산에서 허용하는 무게 범위는 L 이상 R 이하다. 범위의 양 끝값도 허용하므로 무게가 정확히 L이거나 R이면 정상으로 처리한다. 이 장치는 조절 손잡이를 한 번 움직일 때마다 투입 무게가 정확히 D만큼 달라진다. 손잡이를 올리는 방향으로 움직이면 무게가 D만큼 늘어나고, 내리는 방향으로 움직이면 D만큼 줄어든다. 시험 중에는 손잡이를 최대 한 번만 움직일 수 있다. 장치의 표시값은 정수이며, 손잡이를 움직인 결과도 계산한 정숫값 그대로 사용한다. 작업자가 따라야 하는 규칙은 정해져 있다. 처음 측정한 A가 허용 범위 안에 있으면 손잡이를 움직이지 않고 KEEP을 기록한다. A가 L보다 작으면 손잡이를 올리는 방향으로 정확히 한 번 움직여 A+D를 확인한다. 그 값이 허용 범위 안에 있으면 UP을 기록한다. A가 R보다 크면 손잡이를 내리는 방향으로 정확히 한 번 움직여 A-D를 확인한다. 그 값이 허용 범위 안에 있으면 DOWN을 기록한다. 처음 무게가 허용 범위 밖이고 정해진 방향으로 한 번 조절한 뒤에도 허용 범위에 들어오지 못하면 FAIL을 기록한다. 조절한 무게가 반대쪽 경계를 넘어가는 경우에도 실패다. 실패한 뒤 반대 방향으로 다시 움직이거나 손잡이를 두 번 움직이는 일은 허용하지 않는다. 처음부터 정상인 경우에는 다른 조절 결과를 비교하지 않으므로 언제나 KEEP이 우선한다. 입력값은 모두 정수이고 1 ≤ L ≤ R ≤ 1,000, 0 ≤ A ≤ 1,000, 1 ≤ D ≤ 1,000을 만족한다. 이 규칙에 따라 작업 기록에 적을 단어 하나를 결정한다.
입력
첫째 줄에 네 정수 L, R, A, D가 공백으로 구분되어 주어진다. 1 ≤ L ≤ R ≤ 1,000, 0 ≤ A ≤ 1,000, 1 ≤ D ≤ 1,000이다.
출력
규칙에 따라 KEEP, UP, DOWN, FAIL 중 하나를 대문자로 출력한다. 한 번의 조절로 허용 범위에 들어오지 못하는 경우에는 FAIL을 출력한다.
예제 입력 1
40 55 40 8
예제 출력 1
KEEP
예제 입력 2
40 55 34 9
예제 출력 2
UP
예제 입력 3
40 55 60 25
예제 출력 3
FAIL
힌트 펼치기
- 먼저 현재 무게가 허용 범위 안에 있는지 확인한다.
- 범위 밖이라면 정해진 방향으로 한 번 조절한 값만 검사한다.
관련 서재 장
알고리즘 분류
조건문구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |