금고털이 - level2 (소프티어, 그리디)

2023. 1. 16. 22:01코딩 테스트 준비

728x90
반응형
import sys

W, N = map(int, input().split())
List = []

for _ in range(N):
    M, P = map(int, input().split())
    List.append([M,P])

List.sort(key=lambda x: x[1], reverse=True)
ans = 0

for i in List:
    if i[0] < W:
        ans+=i[1]*i[0]
        W = W-i[0]
    elif i[0] >= W:
        ans += i[1]*W
        break

print(ans)

간단한 그리디 문제

728x90
반응형