입력
연산의 개수 : N
이후 N개의 줄: 정수 x
x ≠ 0 → 배열에 추가
x == 0 → 절댓값 기준 가장 작은 값 출력 + 제거
(여러 개면 실제 값이 더 작은 것 출력)
출력
0이 입력된 만큼 결과 출력
배열이 비었는데 0이 들어오면 0 출력
✅ heapq는 min heap 구조
💡 절댓값 기준 정렬을 위해 (abs(x), x) 형식으로 push한다.
x = -1 → push( (1, -1) )
# heap 내부 정렬: 절댓값 기준 → 값 기준
import sys, heapq
N = int(sys.stdin.readline())
points = []
for _ in range(N):
x = int(sys.stdin.readline())
if x == 0:
if points:
print(heapq.heappop(points)[1])
else:
print(0)
else:
heapq.heappush(points, (abs(x), x))