※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 25704번 문제인 출석 이벤트이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/25704
각 쿠폰을 사용할 수 있는지 여부를 생각해, 사용할 수 있는 각 쿠폰을 적용한 가격 중 최솟값을 출력하자.
단, 500원 할인 쿠폰 및 2,000원 할인 쿠폰의 경우 가격이 각 쿠폰의 액수를 넘어간다면 지불해야 하는 액수가 음수가 아닌 0이 된다는 문제의 조건에 유의하자.
또한, 어떠한 쿠폰을 사용할 수 없더라도(출석 도장이 5개 미만인 경우) 물건을 제값을 주고 구입할 수 있다는 점을 놓치지 말자.
아래는 제출한 소스코드이다:
#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int N, P; cin >> N >> P;
int ans = P;
if (N >= 5) ans = min(ans, P - 500);
if (N >= 10) ans = min(ans, P / 10 * 9);
if (N >= 15) ans = min(ans, P - 2000);
if (N >= 20) ans = min(ans, P / 4 * 3);
cout << max(ans, 0);
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 25785 // C++] Easy-to-Pronounce Words (0) | 2022.11.10 |
---|---|
[BOJ 25774 // C++] Simplified Calander System (0) | 2022.11.10 |
[BOJ 25270 // C++] 99 Problems (0) | 2022.11.10 |
[BOJ 25850 // C++] A Game Called Mind (0) | 2022.11.10 |
[BOJ 24348 // C++] ИЗРАЗ (0) | 2022.11.09 |