Greedy(10)_기타줄(1049)

BJO 1049 기타줄

아이디어

코드

import sys
N, M = map(int, sys.stdin.readline().split())

minPa = 1000
minPi = 1000
# 1.미리 최소인 패키지와 낱개를 구한다
for i in range(M):
    Pa, Pi = map(int, sys.stdin.readline().split())
    if(minPa > Pa):
        minPa = Pa
    if(minPi > Pi):
        minPi = Pi

# 2. 낱개를 6개 구매한게 패키지 보다 큰 값인지 확인

if minPa > 6 * minPi:  # 패키지가 낱개 갯수 6개 보다 크다면
    minPa = 6*minPi
if ((N % 6)*minPi > minPa):  # 남은 낱개 갯수가 패키지보다 값이 크다면
    print(N//6*minPa + minPa)
else:
    print(N//6*minPa+int(N % 6)*minPi)


참고자료

0%