반응형
코드
n, m = map(int,input().split())
p_list = []
o_list = []
for _ in range(m):
pack,one = map(int,input().split())
p_list.append(pack)
o_list.append(one)
p_min = min(p_list)
o_min = min(o_list)
m_num = min(p_min,o_min*6)
ans = 0
ans += (n // 6) * m_num
ans += min(p_min,o_min*(n%6))
print(ans)
설명
가장 싼 패키지 가격과 가장 싼 낱개 가격 * 6 을 비교하여 더 싼 가격을 n을 6으로 나눈 몫만큼 구매한다.
그러면 이제 사야하는 줄이 6개 미만이 된다.
이때도 다시 가장 싼 패키지 가격과 가장 싼 낱개 가격 * 남은 줄 을 비교하여 더 싼 것을 ans 값에 더해준다.
반응형
'알고리즘 > 그리디' 카테고리의 다른 글
[백준][Python] 1213번 팰린드롬 만들기 (0) | 2023.01.20 |
---|---|
[백준][Python] 2012번 등수 매기기 (0) | 2022.11.03 |
[백준][Python] 수들의 합 (0) | 2022.11.01 |
[백준][Python] 1461번 도서관 (0) | 2022.10.31 |
[백준][Python] 12904번 A와 B (0) | 2022.10.28 |
댓글