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))
출력 결과