EJH 2025. 7. 27. 16:11
반응형

문제주소 : https://www.acmicpc.net/problem/10156
문제이름 : 과자
문제번호 :10156
난이도 : B4

소요시간 : 1m 12s

 

과자 성공

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 256 MB 34941 22067 20235 63.272%

문제

동수는 제과점에 과자를 사러 가는데 현재 가진 돈이 모자랄 경우 부모님께 모자란 돈을 받으려고 한다. 과자 한 개의 가격이 K, 사려고 하는 과자의 개수가 N이고, 현재 가진 돈의 액수를 M이라 할 때 여러분은 동수가 부모님께 받아야 하는 모자란 돈을 계산하려고 한다. 

예를 들어, 과자 한 개의 가격이 30원, 사려고 하는 과자의 개수가 4개, 현재 동수가 가진 돈이 100원이라 할 때, 동수가 부모님께 받아야 하는 돈은 20원이다. 과자 한 개의 가격이 250원, 사려고 하는 과자의 개수가 2개, 현재 동수가 가진 돈이 140원이라 할 때, 동수가 부모님께 받아야 하는 돈은 360원이다. 과자 한 개의 가격이 20원, 사려고 하는 과자의 개수가 6개, 현재 동수가 가진 돈이 120원이라 할 때 동수가 부모님께 받아야 하는 돈은 0원이다. 과자 한 개의 가격이 20원, 사려고 하는 과자의 개수가 10개, 현재 동수가 가진 돈이 320원이라 할 때 동수가 부모님께 받아야 하는 돈은 역시 0원이다. 

과자 한 개의 가격, 사려고 하는 과자의 개수와 동수가 현재 가진 돈의 액수가 주어질 때 동수가 부모님께 받아야 하는 돈의 액수를 출력하는 프로그램을 작성하시오. 

입력

첫 번째 줄에는 과자 한 개의 가격 K, 사려고 하는 과자의 개수 N, 현재 동수가 가진 돈 M이 각각 공백을 사이에 두고 주어진다. 단, K, N은 1,000 이하의 양의 정수이고, M은 10만 이하의 양의 정수이다. (1 ≤ K, N ≤ 1,000, 1 ≤ M ≤ 100,000이다.) 

출력

첫 줄에 동수가 부모님께 받아야 하는 돈의 액수를 출력한다. 

예제 입력 1 

300 4 1000

예제 출력 1 

200

예제 입력 2 

250 2 140

예제 출력 2 

360

예제 입력 3 

20 6 120

예제 출력 3 

0

예제 입력 4 

20 10 320

예제 출력 4 

0

 

풀이

부족한 돈을 단순하게 식으로 나타내보면

가격 * 갯수 - 보유한 돈이다.

여기서 주의할 점은 4번 입력인데 충분히 돈이 많을 경우는 더 필요한 돈은 0이다

따라서  max함수를 이용해서 0보다 작을경우 0으로 고정해준다.

 

#include <iostream>

using namespace std;

int main() {
	int price, ea, money;
	cin >> price >> ea >> money;
	cout << max(price * ea - money, 0);
}
반응형