fragment-header
fragment-markdown
홈
로그인
로그아웃
내 블로그
설정
로그인
백준 34323 (C++) 할인이 필요해
최초 업로드: 2025-09-14 06:13:32
최근 수정 시간: 2025-09-14 06:13:32
게시자: rlatjwls3333
카테고리: 백준
조회수: 5
# [Bronze IV] 할인이 필요해 [문제 링크](https://www.acmicpc.net/problem/34323) ## 문제 설명 <p style="text-align: center;"><img alt="" src="https://upload.acmicpc.net/c4d6ff67-f5c5-49ce-9c96-8cf00efd3be9/-/preview/"></p> <p>금오공대 학생회관 내 편의점은 근로 학생이 없는 시간에는 무인으로 운영된다. 이 시간대에는 대부분의 상품을 $N\%$ 할인된 가격으로 구매할 수 있다.</p> <p>우연이는 배가 고플 때마다 편의점에서 $M+1$ 할인 상품을 즐겨 사곤 한다. $M+1$ 할인은 상품을 $M$개를 사면 $1$개를 무료로 받을 수 있는 것을 뜻한다. 다만, $M+1$ 할인 상품에는 무인 운영 시간 할인이 중복으로 적용되지 않는다. 따라서 무인 운영 시간 할인을 적용하는 것이 $M+1$ 할인보다 더 저렴한 경우, 무인 할인 쪽이 더 유리하다.</p> <p>어느 날, 우연이는 무인 운영 시간에 $M+1$ 할인 상품을 고른 후 계산하려 했지만, 포스기의 할인 자동 적용 기능이 고장 나 어떤 할인이 더 유리한지 알 수 없었다. 이에 따라 우연이는 직접 더 저렴한 할인 방식을 선택해야 했다. 계산에 약한 우연이를 위해, 상품 $M+1$ 개를 구매할 때 두 할인 방식 중 더 저렴한 쪽을 적용한 최소 금액을 알려주자!</p> <p><strong>우연이가 고른 상품에는 반드시 $N\%$ 할인 또는 $M+1$ 할인 중 하나만 적용된다.</strong></p> ## 입력 <p>첫째 줄에 정수 $N$과 정수 $M$, 물건의 가격을 나타내는 정수 $S$가 공백으로 구분되어 주어진다. $(0 \le N, M \le 100;\ 100 \le S \le 10^8)$</p> ## 출력 <p>최소 구매 금액을 출력한다. 소수점은 버린다. 답이 32bit 정수 자료형의 범위를 넘어갈 수 있음에 유의하라.</p> ## 풀이 간단한 정수만을 이용한 사칙연산 문제입니다. ``` c++ #include<bits/stdc++.h> using namespace std; typedef long long ll; int main() { ios::sync_with_stdio(0); cin.tie(0); ll n, m, s; cin >> n >> m >> s; cout << min(s*m, s*(m+1)*(100-n)/100); } ```