티스토리 뷰
수도요금 성공
시간 제한 | 메모리 제한 | 제출 | 정답 | 맞은 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 256 MB | 1309 | 945 | 887 | 73.732% |
문제
JOI군이 살고 있는 지역에는 X사와 Y사, 두 개의 수도회사가 있다. 두 회사의 수도요금은 한 달간 수도의 사용량에 따라 다음과 같이 정해진다.
- X사 : 1리터당 A엔.
- Y사 : 기본요금은 B엔이고, 사용량이 C리터 이하라면 요금은 기본요금만 청구된다. 사용량이 C리터가 넘었을 경우 기본요금 B엔에 더해서 추가요금이 붙는다. 추가요금은 사용량이 C리터를 넘었을 경우 1리터를 넘었을 때마다 D엔이다.
JOI군의 집에서 한 달간 쓰는 수도의 양은 P리터이다.
수도요금이 최대한 싸게 되도록 수도회사를 고를 때, JOI군의 집의 1달간 수도요금을 구하여라.
입력
입력은 5줄이고 한 줄에 하나씩 정수가 입력된다.
- 첫 번째 줄에는 X사의 1리터당 요금 A가 입력된다.
- 두 번째 줄에는 Y사의 기본요금 B가 입력된다.
- 세 번째 줄에는 Y사의 요금이 기본요금이 되는 사용량의 상한 C가 입력된다.
- 네 번째 줄에는 Y사의 1리터 당 추가요금 D가 입력된다.
- 다섯 번째 줄에는 JOI군의 집에서 사용하는 한 달간 수도의 양 P가 입력된다.
입력되는 정수 A,B,C,D,P는 전부 1 이상 10000 이하이다.
출력
JOI군의 집에서 지불하는 한 달간 수도요금을 한 줄으로 출력한다.
예제 입력
9 100 20 3 10
예제 출력
90
예제 입력 2
8 300 100 10 250
예제 출력 2
1800
힌트
입출력예제 1에서, JOI군의 집에서 사용하는 수도의 양은 10리터이다.
- X사의 수도요금은 9 × 10 = 90엔이다.
- JOI군의 집에서 사용한 양이 20리터 이하이므로 Y사의 수도요금은 기본요금인 100엔이다.
JOI군의 집은 수도요금이 더 싼 X사를 고르고, 이 때의 한 달치 수도요금은 90엔이다.
입출력예제 2에서, JOI군의 집에서 사용하는 수도의 양은 250리터이다.
- X사의 수도요금은 8 × 250 = 2000엔이다.
- JOI군의 집에서 사용한 양이 100리터 이상이므로 초과량은 250 - 100 = 150리터이다. 따라서 Y사의 수도요금은 기본요금인 300엔에 더해서 10 × 150 = 1500엔의 추가요금이 붙고, 총 요금은 300 + 1500 = 1800엔이 된다.
JOI군의 집은 수도요금이 더 싼 Y사를 고르고, 이 때의 한 달치 수도요금은 1800엔이다.
출처
Olympiad > 일본정보올림피아드 예선 > JOI 2015 예선 1번
- 문제를 번역한 사람: pinebananais
#include <stdio.h>
int main(){
int x_l, y_base, y_max, y_add, used, x = 0, y = 0;
scanf("%d %d %d %d %d", &x_l, &y_base, &y_max, &y_add, &used);
x = x_l * used;
if(used > y_max){
y = used - y_max;
y *= y_add;
y += y_base;
}
else if (used < y_max){
y = y_base;
}
x > y ? printf("%d", y) : printf("%d", x);
}
https://www.acmicpc.net/problem/10707
'C, C++ > Baekjoon Online Judge' 카테고리의 다른 글
Baekjoon 백준 4344번 평균은 넘겠지 (0) | 2017.06.07 |
---|---|
Baekjoon 백준 11719번그대로 출력하기2 (0) | 2017.06.06 |
Baekjoon 백준 2522번 별찍기 - 12 (0) | 2016.12.04 |
Baekjoon 백준 2523번 별찍기 - 13 (0) | 2016.12.04 |
Baekjoon 백준 2445번 별찍기 - 8 (0) | 2016.12.04 |
티스토리 방명록
- Total
- Today
- Yesterday
Contact: j0n9m1n1@gmail.com