문제출처 : https://www.acmicpc.net/problem/1202
입력을 받은 후 bag과 gem을 정렬해준다.
w 보다 작은 경우 heappush 해준다.
for 문이 끝나면 price를 반환한다.
import sys
import heapq
input = sys.stdin.readline
n, k =map(int,input().split())
gem = []
bag = []
price = 0
for _ in range(n):
gem.append(list(map(int,input().split())))
for _ in range(k):
bag.append(int(input()))
bag = sorted(bag)
gem = sorted(gem)
temp = []
for w in bag:
while gem and gem[0][0] <= w:
heapq.heappush(temp, -gem[0][1])
heapq.heappop(gem)
if temp:
price += heapq.heappop(temp)
print(-price)