문제 3985 · 비트 II
한 주문의 결제 금액
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 배달 앱에서 같은 메뉴를 여러 개 담아 한 번에 주문하려 한다. 주문할 메뉴의 개수는 N개이고, 메뉴 한 개의 할인 전 가격은 P원이다. 이번 주문에는 메뉴별 할인 행사가 적용되어 메뉴 한 개마다 D원씩 할인된다. 주문한 모든 메뉴는 가격과 할인 금액이 같으며, 할인 대상에서 제외되는 메뉴는 없다. 할인은 주문 전체에 한 번 적용되는 방식이 아니라 메뉴 각각에 적용된다. 따라서 메뉴를 한 개 주문하면 메뉴 가격에서 D원이 빠지고, 여러 개 주문하면 주문한 개수만큼 같은 할인을 받는다. 할인 금액 D는 메뉴 한 개의 가격 P를 넘지 않는다. 두 금액이 같을 수도 있으며, 이때 해당 메뉴의 할인 후 가격은 0원이다. 메뉴 대금과 별도로 이번 주문에는 배달비 F원이 붙는다. 모든 메뉴를 같은 가게에서 한 주문으로 결제하므로 배달비는 메뉴 개수와 관계없이 주문 전체에 정확히 한 번만 더한다. 메뉴별 할인은 배달비에는 적용되지 않는다. 할인 후 메뉴 대금이 0원이더라도 배달비는 입력으로 주어진 금액을 그대로 더해야 한다. 앱의 결제 화면에 표시할 최종 금액은 할인 후 메뉴 대금의 합과 배달비의 합이다. 이 문제에서는 포장비, 추가 수수료, 세금, 적립금 사용, 별도의 쿠폰 등 다른 금액 변화는 없다. 배달비가 면제되는 최소 주문 금액 같은 조건도 없으므로, 입력으로 주어진 네 수만 사용하여 최종 결제 금액을 계산한다. 모든 금액은 원 단위의 정수이며, 계산 도중 소수나 반올림이 발생하지 않는다. 주문할 메뉴는 적어도 한 개이므로 빈 주문은 주어지지 않는다. 메뉴 가격과 할인 금액이 같고 배달비도 0원이면 최종 금액은 0원이 될 수 있으며, 이 경우에도 0을 정상적으로 출력한다. 최종 결제 금액만 계산하면 되므로 메뉴별 금액이나 전체 할인액을 따로 출력할 필요는 없다. 주어진 주문의 최종 결제 금액을 구하는 프로그램을 작성한다.
입력
첫째 줄에 N, P, D, F가 공백으로 구분되어 주어진다. N은 1 이상 1,000 이하의 정수다. P는 1 이상 100,000 이하의 정수다. D는 0 이상 P 이하의 정수다. F는 0 이상 100,000 이하의 정수다.
출력
최종 결제 금액을 정수 하나로 한 줄에 출력한다. 통화 기호, 단위, 천 단위 구분 기호는 출력하지 않는다.
예제 입력 1
4 7300 800 2400
예제 출력 1
28400
예제 입력 2
3 4200 4200 1700
예제 출력 2
1700
예제 입력 3
1 900 900 0
예제 출력 3
0
힌트 펼치기
- 메뉴 한 개의 할인 후 가격을 구한 뒤 개수를 곱하고, 배달비를 한 번 더한다.
관련 서재 장
알고리즘 분류
입출력사칙연산풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |