SOJ ONLINE JUDGE

C++ Priority Queue

난이도
Silver II
출제자
rlatjwls7882
시간 제한
1000 ms
메모리 제한
512 MB
구현우선순위 큐자료 구조

처음에 빈 우선순위 큐 $P$가 있다. $Q$개의 쿼리를 순서대로 처리하라.

쿼리는 다음 중 하나이다.

  • push x: $P$에 정수 $x$를 추가한다. $(-10^9 \leq x \leq 10^9)$
  • pop: $P$의 가장 큰 원소를 삭제한다.
  • top: $P$의 가장 큰 원소를 출력한다.
  • size: $P$의 크기를 출력한다.

pop, top 쿼리는 항상 올바른 상태에서만 주어진다.

입력

첫 번째 줄에 쿼리의 개수 $Q$가 주어진다. $(1 \leq Q \leq 100\,000)$

두 번째 줄부터 $Q$개의 줄에 걸쳐 쿼리가 하나씩 주어진다.

출력

top, size 쿼리마다 결과를 한 줄에 하나씩 출력한다.

예제 입력 1

10
push 3
push 7
push 5
top
pop
top
size
push 10
pop
top

예제 출력 1

7
5
2
5

제출

편집기에서 나가려면 Esc를 누른 뒤 Tab 또는 Shift와 Tab을 누르세요.