S2, 우선순위 큐
풀이
- 각 포지션에 대해
defaultdict(list)
를 만들어 구성했다.
- 포지션에서 가장 높은 값을 위해 최대 힙으로 구현
from sys import stdin
import heapq
from collections import defaultdict
n, k = map(int, stdin.readline().split())
team = defaultdict(list)
for _ in range(n):
p, w = map(int, stdin.readline().split())
heapq.heappush(team[p], -w)
while k > 0:
k -= 1
for i in range(1, 12):
if len(team[i]) > 0:
value = -heapq.heappop(team[i])
if value > 0:
value -= 1
heapq.heappush(team[i], -value)
res = 0
for i in range(1, 12):
if len(team[i]) > 0:
res += -heapq.heappop(team[i])
else:
res += 0
print(res)