6064 : 최대힙 구현
•시간제한: 2.000 S
•메모리제한: 256 MB
•제출: 0
•통과: 0
•만든사람: suakii
문제 설명
최대힙 구현
-x 또는 튜플(-x, x) 형태를 이용하거나, 직접 최대힙(Max-Heap)을 구현하시오.
구현해야 할 연산:
-
-
-
힌트: Python의 heapq는 최소힙이므로, 최대힙 구현 시 값을 음수로 저장하거나 직접 구현하세요.
[제약 조건]
• 연산 수 $N$: $1 \le N \le 100{,}000$ (정수)
• 각 입력 정수: $1 \le x \le 10^9$ (정수)
-x 또는 튜플(-x, x) 형태를 이용하거나, 직접 최대힙(Max-Heap)을 구현하시오.
구현해야 할 연산:
-
push x: 정수 x를 힙에 삽입-
pop: 힙에서 최댓값을 추출하고 출력-
peek: 힙에서 최댓값을 삭제 없이 조회힌트: Python의 heapq는 최소힙이므로, 최대힙 구현 시 값을 음수로 저장하거나 직접 구현하세요.
[제약 조건]
• 연산 수 $N$: $1 \le N \le 100{,}000$ (정수)
• 각 입력 정수: $1 \le x \le 10^9$ (정수)
입력 설명
첫째 줄에 명령의 수 N (1 ≤ N ≤ 50,000)이 주어집니다.
둘째 줄부터 N개의 줄에 명령(push x, pop, peek)이 주어집니다.
둘째 줄부터 N개의 줄에 명령(push x, pop, peek)이 주어집니다.
출력 설명
pop이나 peek 명령이 들어올 때마다 최댓값을 한 줄에 하나씩 출력합니다.
빈 힙일 경우 -1을 출력합니다.
빈 힙일 경우 -1을 출력합니다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
5
push 3
push 1
push 2
pop
peek
출력 예시
COPY
복사되었습니다!
복사되었습니다!
3
2