๋ฌธ์
ํ์ด
๊ฐ๋ฐฉ๊ณผ ๋ณด์์ ์ ๋ ฌํ ํ, ๊ฐ ๊ฐ๋ฐฉ์ ๋ฃ์ ์ ์๋ ๋ณด์ ๊ฐ๊ฒฉ์ ์ต๋ ๊ฐ์ ๊ตฌํ๋ค.
1. ์ด๊ธฐ ๊ฐ
๋ณด์
๋ฌด๊ฒ | 1 | 2 | 5 |
๊ฐ๊ฒฉ | 65 | 99 | 23 |
๊ฐ๋ฐฉ
๋ฌด๊ฒ | 2 | 10 |
์์ ํ ๋ณด์์ ๊ฐ๊ฒฉ | 0 | 0 |
2. ์ฒซ ๋ฒ์งธ ๊ฐ๋ฐฉ(2)์ ๋ค์ด๊ฐ ์ ์๋ ๋ณด์์ ์ฐ์ ์์ ํ์ ์ ์ฅ
๋ณด์
๋ฌด๊ฒ | 5 | |
๊ฐ๊ฒฉ | 23 |
(๋ฐฐ์ด ๋ณด์์์ ๋ฌด๊ฒ๊ฐ 1, 2์ธ ๊ฐ์ ๋นผ๋ด์ด ์ฐ์ ์์ ํ์ ์ ์ฅํจ)
์ฐ์ ์์ ํ (๊ธฐ์ค : ๊ฐ๊ฒฉ)
๋ฌด๊ฒ | 2 | 1 |
๊ฐ๊ฒฉ | 99 | 65 |
(์ฒซ ๋ฒ์งธ ๊ฐ๋ฐฉ์ ๋ฌด๊ฒ๋ 2์ด๊ณ , 2๋ณด๋ค ์์ ๋ณด์๋ค์ ์ฐ์ ์์ ํ์ ๋ฃ์)
๊ฐ๋ฐฉ
๋ฌด๊ฒ | 2 | 10 |
์์ ํ ๋ณด์์ ๊ฐ๊ฒฉ | 99 | 0 |
(๊ฐ์ฅ ํฐ ๊ฐ์ธ 99๋ฅผ ๊ฐ๋ฐฉ(2)์ ์ถ๊ฐ)
์ฐ์ ์์ ํ (๊ธฐ์ค : ๊ฐ๊ฒฉ), ์ฒซ ๋ฒ์ฌ ๊ฐ๋ฐฉ์ ๊ฐ๊ฒฉ์ด 99์ธ ๋ณด์์ ๋ฃ์ด์คฌ์ผ๋ฏ๋ก pop
๋ฌด๊ฒ | 1 | |
๊ฐ๊ฒฉ | 65 |
3. ๋จ์ ๋ณด์ ๋ฆฌ์คํธ์์ ๊ฐ๋ฐฉ(10)์ ๋ค์ด๊ฐ ์ ์๋ ๋ณด์์ ๋นผ๋ด์ด ์ฐ์ ์์ ํ์ ์ ์ฅ
๋ณด์
๋ฌด๊ฒ | ||
๊ฐ๊ฒฉ |
์ฐ์ ์์ ํ
๋ฌด๊ฒ | 1 | 5 |
๊ฐ๊ฒฉ | 65 | 23 |
๊ฐ๋ฐฉ
๋ฌด๊ฒ | 2 | 10 |
์์ ํ ๋ณด์์ ๊ฐ๊ฒฉ | 99 | 65 |
์์ธํ ๊ฑด ์ฝ๋ ์ฐธ๊ณ
์ฝ๋
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)
๋ง๋ฌด๋ฆฌ
3์๊ฐ ๊ฐ๋ ๊ณ ๋ฏผํ์ง๋ง ๋ต์ด ๋์ค์ง ์์ ๊ตฌ๊ธ๋ง ํ๋ค...