λ¬Έμ
μΈκ³μ μΈ λλ μλμ΄λ 보μμ μ νΈκΈ°λ‘ κ²°μ¬νλ€.
μλμ΄κ° νΈ λ³΄μμ μλ 보μμ΄ μ΄ 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)
λͺ¨λ μ«μλ μμ μ μμ΄λ€.
μΆλ ₯
첫째 μ€μ μλμ΄κ° νμΉ μ μλ 보μ κ°κ²©μ ν©μ μ΅λκ°μ μΆλ ₯νλ€.
https://www.acmicpc.net/problem/1202
π‘ νμ΄ λ° μ½λ
import heapq
import sys
input = sys.stdin.readline
n, k = map(int, input().split())
arr = []
bag = []
for i in range(n):
heapq.heappush(arr, tuple(map(int, input().split())))
for i in range(k):
bag.append(int(input()))
bag.sort()
result = 0
temp = []
for b in bag:
while arr and b >= arr[0][0]:
heapq.heappush(temp, -heapq.heappop(arr)[1])
if temp:
result -= heapq.heappop(temp)
elif not arr:
break
print(result)
μ²μμ ν΄λ³΄λ λ°°λ λ¬Έμ μλ€. μμ΄λμ΄λ₯Ό λ μ¬λ¦¬λλ°μ μ΄λ €μμ κ²ͺμ΄ λ³΅μ΅μ΄ νμν κ² κ°λ€.
νμ΄κ³Όμ μ μ€λͺ νμλ©΄,
μ€λ¦μ°¨μ μ λ ¬λ λ°°λλ§λ€ λ°λ³΅λ¬Έμ λλ©° λ£μ μ μλ 보μμ κ°κ²©μ ν νμ λ£κ³ μ΄μ€ κ°μ₯ κ°λΉμΌ 보μμ μ±ννλ λ°©μμ΄λ€. μ΄λ, λ°°λμ΄ μμ©κ°λ₯ν 보μμ ν νμ λ£μ λλ μ΅μν, ν νμ λ€μ΄μλ 보μ μ€ ν° κ°μ μ νν λλ μ΅λνμ μ¬μ©νλ€.
'Algorithm > π Baekjoon Judge' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ] λ°±μ€ 7562λ² λμ΄νΈμ μ΄λ - νμ΄μ¬(Python) (0) | 2021.12.29 |
---|---|
[BOJ] λ°±μ€ 9465λ² μ€ν°μ»€ - νμ΄μ¬(Python) (0) | 2021.11.24 |
[BOJ] λ°±μ€ 1012λ² μ κΈ°λ λ°°μΆ - νμ΄μ¬(Python) (0) | 2021.10.07 |
[BOJ] λ°±μ€ 14501λ² ν΄μ¬ - νμ΄μ¬(Python) (0) | 2021.10.06 |
[BOJ] λ°±μ€ 11052λ² μΉ΄λ ꡬ맀νκΈ° - νμ΄μ¬(Python) (0) | 2021.10.06 |