https://www.acmicpc.net/problem/1049
풀이
브랜드별로 주어지는 패키지(6개 묶음) 가격, 낱개 가격을 비교하여 브랜드와 상관없이 가장 싼 패키지 가격과 낱개 가격을 구해줍니다.
구해준 최소 패키지 가격과 낱개 가격을 이용해서 패키지+낱개 조합, 패키지 조합, 낱개 조합을 이용하여 가장 싸게 기타줄을 구입할 수 있는 가격을 출력해줍니다.
코드
# 1049번 기타줄
import sys
N, M = map(int, sys.stdin.readline().split())
Min_pack = sys.maxsize
Min_single = sys.maxsize
for _ in range(M):
package, single = map(int, sys.stdin.readline().split())
if package < Min_pack:
Min_pack = package
if single < Min_single:
Min_single = single
cand = [0,0,0]
leftover = N % 6
quotient = N // 6
if leftover == 0:
cand[0] = Min_pack*(quotient)
else:
cand[0] = Min_pack*(quotient+1)
cand[1] = quotient*Min_pack + leftover*Min_single
cand[2] = N * Min_single
print(min(cand))
출력결과
'백준 > 구현' 카테고리의 다른 글
[백준][Python] 1010번 다리 놓기 - 코팩 (0) | 2023.04.05 |
---|---|
[백준][Python] 25206번 너의 평점은 - 코팩 (0) | 2023.03.21 |
[백준][Python] 1296번 팀 이름 정하기 - 코팩 (0) | 2023.03.09 |
[백준][Python] 1247번 부호 - 코팩 (0) | 2023.03.07 |
[백준][Python] 15680번 연세대학교 - 코팩 (0) | 2023.03.02 |