๐๏ธ Algorithm/๐ฉ ๋ฐฑ์ค
๐ฉ [๋ฐฑ์ค] [Python] [Gold2] 1202๋ฒ_๋ณด์ ๋๋
Dbswnstjd
2023. 3. 30. 09:08
๋ฌธ์
https://www.acmicpc.net/problem/1202
1202๋ฒ: ๋ณด์ ๋๋
์ฒซ์งธ ์ค์ N๊ณผ K๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ N, K ≤ 300,000) ๋ค์ N๊ฐ ์ค์๋ ๊ฐ ๋ณด์์ ์ ๋ณด Mi์ Vi๊ฐ ์ฃผ์ด์ง๋ค. (0 ≤ Mi, Vi ≤ 1,000,000) ๋ค์ K๊ฐ ์ค์๋ ๊ฐ๋ฐฉ์ ๋ด์ ์ ์๋ ์ต๋ ๋ฌด๊ฒ Ci๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ Ci
www.acmicpc.net
ํ์ด
# ๋ฐฑ์ค 1202๋ฒ ๋ฌธ์ - ๋ณด์ ๋๋
import sys, heapq
input = sys.stdin.readline
n, k = map(int, input().split())
jewelry = [list(map(int, input().split())) for _ in range(n)]
bags = [int(input()) for _ in range(k)]
jewelry.sort()
bags.sort()
tmp = []
result = 0
for bag in bags:
while jewelry and bag >= jewelry[0][0]:
heapq.heappush(tmp, -jewelry[0][1])
heapq.heappop(jewelry)
if tmp:
result += heapq.heappop(tmp)
elif not jewelry:
break
print(-result)