금고털이

발자·2023년 5월 9일
0

Softeer

목록 보기
2/17

문제

import sys

# 배낭의 무게, 귀금속의 종류
W, N = map(int, input().split())

# ['무게', '가격']
metal = []

# metal에 담기
for i in range(N):
    M, P = map(int, input().split())
    metal.append([M, P])

# P(가격)을 기준으로 내림차순으로 정렬렬
metal.sort(key=lambda x : -x[1])

# 가장 비싼 가격
max_p = 0
for [M, P] in metal:
    # 남은 배낭의 무게가 금속의 무게보다 클 때
    if W > M:
        W -= M
        max_p += P * M
    # 남은 배낭의 무게가 금속의 무게보다 작을 때
    else:
        max_p += P * W
        W = 0
        break

# 출력
print(max_p)

0개의 댓글