-
[BOJ]백준 16917번 : 양념 반 후라이드 반Problem Solving/BOJ(백준) 2019. 4. 26. 23:41
https://www.acmicpc.net/problem/16917
양념치킨, 후라이드치킨, 반반치킨의 구매 수를 조절해서 목표하는 치킨 수를 만들 수 있는 최소 금액을 구하는 문제이다.
포인트는 최소 금액이라면 치킨이 남아도 상관없다는 것이다.
예를 들면, 양념1마리 후라이드 5마리가 필요하고, 각각의 치킨 가격이 10000, 50000, 500원일 때 그냥 반반치킨을 10마리 사고 남는 치킨은 버리면된다.ㅎㅎ
문제는 양념+후라이드 치킨값 (<,>,=) 반반치킨값*2에 따라 나뉘는데, 그닥 어렵지 않은 문제.
1. 따로 살 경우
2. 반반으로 사고 남는 양을 한마리로 살 경우
3. 전부 반반으로 살 경우
을 고려하여 문제를 해결하면 된다.
#include <cstdio> int a, b, c, x, y, sum, min, t; int main() { scanf("%d%d%d%d%d", &a, &b, &c, &x, &y); t = c * 2 * (x > y ? x : y); //반반치킨으로만 산다고 가정했을 때 금액 if (a + b > c * 2) { //따로보다 반반으로 사는게 이득일 때 min = x > y ? y : x; //양 or 후 중 적은 치킨 수를 저장 sum = c * 2 * min; //적은 치킨수에 맞춰서 반반치킨을 시킨다 x -= min; y -= min; //반반치킨을 시킨만큼 시켜야되는 치킨수를 뺀다 } sum += a * x + b * y; //남은 양의 치킨 값 계산 if (t < sum) sum = t; //반반만 사서 남는게 더 이득이라면 printf("%d", sum); return 0; }
'Problem Solving > BOJ(백준)' 카테고리의 다른 글
[BOJ]백준 17144번: 미세먼지 안녕! (440) 2019.06.23 [BOJ]백준 11559번: Puyo Puyo (424) 2019.05.17 [BOJ]백준 16923번: 다음 다양한 단어 (408) 2019.04.26 [BOJ]백준 15804번: 저거 못 타면 지각이야!! (433) 2019.04.25 [BOJ]백준 11718번: 그대로 출력하기 (427) 2019.02.06