6061 : 절댓값 힙
•시간제한: 2.000 S
•메모리제한: 256 MB
•제출: 0
•통과: 0
•만든사람: suakii
문제 설명
절댓값이 가장 작은 값을 우선적으로 반환하는 우선순위 큐를 구현하시오.
절댓값이 같으면 음수가 양수보다 우선입니다.
- x ≠ 0: x를 삽입
- x = 0: 절댓값이 가장 작은 값을 삭제하고 출력. 비어있으면 0 출력
[제약 조건]
• 연산 수 $N$: $1 \le N \le 100{,}000$ (정수)
• 각 입력 정수: $-10^9 \le x \le 10^9$
• 힙이 비어있을 때 연산 0이 주어지면 0을 출력합니다.
절댓값이 같으면 음수가 양수보다 우선입니다.
- x ≠ 0: x를 삽입
- x = 0: 절댓값이 가장 작은 값을 삭제하고 출력. 비어있으면 0 출력
[제약 조건]
• 연산 수 $N$: $1 \le N \le 100{,}000$ (정수)
• 각 입력 정수: $-10^9 \le x \le 10^9$
• 힙이 비어있을 때 연산 0이 주어지면 0을 출력합니다.
입력 설명
첫째 줄에 연산 수 N (1 ≤ N ≤ 100,000).
다음 N개의 줄에 정수 x.
다음 N개의 줄에 정수 x.
출력 설명
x=0인 명령마다 결과를 한 줄에 출력합니다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
4
1
-1
0
0
출력 예시
COPY
복사되었습니다!
복사되었습니다!
1
-1
도움
heapq에 (abs(x), x)를 삽입하면 절댓값 기준 최소힙이 됩니다.