Programming/백준
[브론즈 2] 백준 14471 - 포인트 카드 (파이썬)
pental
2025. 5. 4. 12:32
https://www.acmicpc.net/problem/14471
풀이
- N개의 포인트를 사용하여 M개의 카드를 구매하고 싶다.
- 각 카드에는 (a, b)가 주어지며,
- a는 현재 모인 포인트 수
- b는 해당 카드의 포인트 카드 개수
- 카드를 구매하기 위해서는 포인트가 a 이상이어야 한다.
- 카드를 구매하면 b만큼 포인트가 오른다.
- 목표는 총 N개의 포인트를 모으는 최소한의 비용을 계산하는 것.
코드
# 백준 14471 - 포인트 카드
# 분류 : 그리디
N, M = map(int, input().split())
C = [list(map(int, input().split())) for _ in range(M)]
C.sort(reverse=True)
cost = 0
for i in range(M - 1) :
if C[i][0] < N :
cost += N - C[i][0]
print(cost)