문제 3130 · 비트 III
우체국의 무게별 접수 요금
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 우체국에서는 창구에 접수된 우편물의 무게에 따라 요금을 계산한다. 담당자는 한 번에 접수된 여러 우편물의 무게를 입력하고, 접수자에게 안내할 전체 요금을 구하려 한다. 모든 우편물의 무게는 포장을 마친 뒤 측정한 양의 정수 그램으로 주어진다. 무게를 다시 재거나 소수점 아래의 무게를 처리할 필요는 없다. 우편물 한 개의 무게가 100그램 이하이면 기본요금 B원을 받는다. 무게가 100그램을 넘으면 기본요금에 추가요금을 더한다. 추가요금은 100그램을 초과한 부분을 50그램 단위로 나누어 계산하며, 완전한 50그램을 채우지 못한 나머지 부분도 한 단위로 취급한다. 추가 단위 하나의 요금은 P원이다. 따라서 무게가 101그램부터 150그램까지인 우편물에는 추가요금 P원이 붙고, 151그램부터 200그램까지인 우편물에는 추가요금 2P원이 붙는다. 요금은 우편물마다 따로 계산해야 한다. 여러 우편물의 무게를 먼저 합친 뒤 하나의 우편물처럼 계산해서는 안 된다. 한 우편물에서 사용하지 않은 무게 여유를 다른 우편물로 옮길 수도 없다. 무게가 정확히 100그램이면 추가요금이 없으며, 초과한 무게가 정확히 50그램의 배수라면 그 몫만큼만 추가 단위를 센다. 이 접수에는 별도의 할인, 포장비, 세금 또는 최소 결제 금액이 없다. 기본요금 B와 추가 단위 요금 P는 접수된 모든 우편물에 동일하게 적용된다. 담당자는 각 우편물의 요금을 모두 더한 금액 하나만 안내한다. 주어진 요금과 우편물별 무게를 이용해 접수자가 내야 할 전체 요금을 원 단위의 정수로 구한다.
입력
첫째 줄에 우편물의 개수 N, 기본요금 B, 추가 단위 요금 P가 공백으로 구분되어 주어진다. N은 1 이상 1,000 이하의 정수이며, B와 P는 각각 1 이상 1,000 이하의 정수다. 둘째 줄부터 N개의 줄에 걸쳐 각 우편물의 무게 W가 하나씩 주어진다. W는 1 이상 1,000 이하의 정수이며 단위는 그램이다.
출력
모든 우편물의 요금을 합한 금액을 원 단위의 정수 하나로 출력한다.
예제 입력 1
4 400 70 80 100 101 151
예제 출력 1
1810
예제 입력 2
3 250 30 150 200 201
예제 출력 2
930
예제 입력 3
1 1000 1 1
예제 출력 3
1000
힌트 펼치기
- 100그램을 초과한 무게를 50으로 나눈 몫과 나머지를 이용해 추가 단위 수를 구할 수 있다.
관련 서재 장
알고리즘 분류
사칙연산구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |