
https://www.acmicpc.net/problem/1202
λ¬Έμ
μΈκ³μ μΈ λλ μλμ΄λ 보μμ μ νΈκΈ°λ‘ κ²°μ¬νλ€.
μλμ΄κ° νΈ λ³΄μμ μλ 보μμ΄ μ΄ Nκ° μλ€. κ° λ³΄μμ λ¬΄κ² Miμ κ°κ²© Viλ₯Ό κ°μ§κ³ μλ€. μλμ΄λ κ°λ°©μ Kκ° κ°μ§κ³ μκ³ , κ° κ°λ°©μ λ΄μ μ μλ μ΅λ 무κ²λ Ciμ΄λ€. κ°λ°©μλ μ΅λ ν κ°μ 보μλ§ λ£μ μ μλ€.
μλμ΄κ° νμΉ μ μλ 보μμ μ΅λ κ°κ²©μ ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μ Nκ³Ό Kκ° μ£Όμ΄μ§λ€. (1 β€ N, K β€ 300,000)
λ€μ Nκ° μ€μλ κ° λ³΄μμ μ 보 Miμ Viκ° μ£Όμ΄μ§λ€. (0 β€ Mi, Vi β€ 1,000,000)
λ€μ Kκ° μ€μλ κ°λ°©μ λ΄μ μ μλ μ΅λ λ¬΄κ² Ciκ° μ£Όμ΄μ§λ€. (1 β€ Ci β€ 100,000,000)
λͺ¨λ μ«μλ μμ μ μμ΄λ€.
μΆλ ₯
첫째 μ€μ μλμ΄κ° νμΉ μ μλ 보μ κ°κ²©μ ν©μ μ΅λκ°μ μΆλ ₯νλ€.
μμ

μ½λ
import sys,heapq
input = sys.stdin.readline
N,K = map(int,input().split()) # 보μ, κ°λ°©μ κ°μ
# 리μ€νΈμ 보μκ³Ό κ°λ°© μ 보λ₯Ό ν¨κ» μ μ₯
lst = []
bag = 1000001 # κ°λ°©μμ λνλ (=보μμ μ΅λ κ°μΉλ³΄λ€ μ»€μΌ λμΌν 무κ²μμ λ€μͺ½μ μμΉ)
for _ in range(N):
lst.append(list(map(int,input().split())))
for _ in range(K):
lst.append([int(input()),bag])
# 무κ²κ° κ°λ²Όμ΄ μμΌλ‘ μ λ ¬
lst.sort()
# νμ¬ κ°λ°©μ λ€μ΄κ° μ μλ κ°μ₯ λμ 보μμ κ°μΉκ° νν 맨 μμ μμΉ
hq = []
res = 0
for info in lst:
if info[1] != bag:
heapq.heappush(hq,-info[1])
else:
if hq:
res += (-heapq.heappop(hq))
print(res)
μ΄ λ¬Έμ λ κ°μ₯ κ°λ²Όμ΄ μ©λμ κ°λ°©μ κ°μ₯ ν° κ°μΉμ 보μμ λ£μ΄μ£Όλ κ²μ΄ ν¬μΈνΈμ΄λ€!
μ΄λ₯Ό μν΄μ lstμ 보μκ³Ό κ°λ°© μ 보λ₯Ό ν¨κ» μ μ₯ν΄μ€λ€.
κ°λ°©μμ λνλ΄κΈ° μν λ³μμΈ bagμ 100001λ‘ μ€μ ν΄μ€λ€.
π 보μκ³Ό κ°λ°©μ΄ κ°μ 무κ²μΌ λ, κ°λ°©μ΄ 보μλ³΄λ€ λ€μ μμΉνλλ‘ λ³΄μμ μ΅λ κ°μΉλ³΄λ€ ν¬κ² λ§λ€μ΄μ€λ€.
무κ²κ° κ°λ²Όμ΄ μμΌλ‘ μ λ ¬νλ€.
lstμλ λμΌν 무κ²μ 보μ, κ°λ°© μ λ³΄κ° μ°¨λ‘λλ‘ λ€μ΄μκ² λλ€.보μκ³Ό κ°λ°© μ 보λ₯Ό κ°μ§κ³ μ΅μ’ μ μΈ μ΅λ κ°μΉλ₯Ό ꡬν΄μ€λ€.
보μμΌ κ²½μ°, hqμ λ£μ΄μ€λ€. μ΄λ μ΅λνμ΄κΈ° λλ¬Έμ, κ°μ₯ ν° κ°μΉμ 보μμ μ°μ μΌλ‘ 보μ¬μ€λ€.
κ°λ°©μΌ κ²½μ°, hqμμ κ°μ₯ ν° κ°μΉμ 보μμ νλ λΉΌμ resμ κ°μΉλ₯Ό ν©ν΄μ€λ€.
λλ μ & λ°°μ΄ μ
μ²μμλ κ°μ₯ μ©λμ΄ κ°λ²Όμ΄ κ°λ°©μ ꡬνκΈ° μν΄μ μ΅μνμ μ°κ³ , κ°μ₯ κ°μΉκ° ν° λ³΄μμ ꡬνκΈ° μν΄μ μ΅λνμ μ¬μ©νλ€. νμ§λ§ μ΄λ κ² νλ 무κ²λ₯Ό λ§μΆ μκ° μμλ€.
κ²°κ΅ λ¦¬μ€νΈμ ν¨κ» λ£μ΄μ£Όκ³ 무κ²μμΌλ‘ μ λ ¬ν¨μΌλ‘μ¨, κ°λ°© μ λ³΄κ° λμμ λ μ΄μ κΉμ§μ 보μμ 무쑰건 λ£μ μ μλλ‘ λ§λ€μ΄μ£Όλ κ²μ΄ μ€μν λ¬Έμ μλ€!
μ λ ¬κ³Ό ν νλ₯Ό μ μ ν μ¬μ©ν μ μμλ μ’μ λ¬Έμ μλ€κ³ μκ°νλ€.