https://www.acmicpc.net/problem/14235
14235번: 크리스마스 선물
크리스마스에는 산타가 착한 아이들에게 선물을 나눠준다. 올해도 산타는 선물을 나눠주기 위해 많은 노력을 하고 있는데, 전세계를 돌아댕기며 착한 아이들에게 선물을 나눠줄 것이다. 하지만
www.acmicpc.net
문제
풀이
우선순위 큐를 활용해서 가치가 가장 높은 선물부터 아이들에게 나눠줄 수 있게 코드를 짰습니다.
코드
# 14235번 크리스마스 선물
from heapq import heappush, heappop
n = int(input())
values = []
for _ in range(n):
a = list(map(int, input().split()))
if a[0] == 0:
# 아이를 만났고 선물이 있는 경우
if values:
print(heappop(values)[1])
# 아이를 만났지만, 선물이 없는 경우
else:
print(-1)
else:
for i in range(1, a[0]+1):
heappush(values, [-a[i], a[i]])
출력결과
'백준 > 우선순위 큐' 카테고리의 다른 글
[백준][Python] 1417번 국회의원 선거 - 실버 5 (0) | 2024.04.15 |
---|---|
[백준][Python] 15903번 카드 합체 놀이 - 실버 1 (0) | 2024.04.14 |