우선순위큐 관리


답안 제출

Points: 9
시간 제한: 2.0s
메모리 제한: 1G

문제 유형

우선순위 큐(Priority Queue)를 이용하여 정수 쌍 \((x, y)\)를 관리하는 프로그램을 작성하시오.

\(N\)개의 명령이 주어질 때, 출력이 필요한 명령의 결과를 순서대로 출력하라.

우선순위는 다음과 같은 기준으로 결정된다.

  1. 첫 번째 정수 \(x\)가 큰 원소가 높은 우선순위를 가진다.
  2. 만약 첫 번째 정수 \(x\)가 같다면, 두 번째 정수 \(y\)가 작은 원소가 높은 우선순위를 가진다.

명령은 다음 중 하나이다.

  • push x y: 정수 쌍 \((x, y)\)를 넣는다.
  • pop: 현재 우선순위가 가장 높은 정수 쌍의 \(x\)와 \(y\)를 공백으로 구분하여 출력하고 제거한다. 만약 비어 있으면 0 0을 출력한다.

입력

첫째 줄에 명령의 수 \(N\)이 주어진다.

둘째 줄부터 \(N\)개의 줄에 명령이 하나씩 주어진다.

출력

pop 명령의 결과를 한 줄에 하나씩 출력한다.

제한사항

  • \(1 \le N \le 100000\)
  • push로 들어오는 정수 \(x, y\)는 \(1 \le x, y \le 10^9\) 이다.
  • 출력하는 명령(pop)은 최소 하나 이상 주어진다.

예제 입력 1

7
push 3 5
push 3 2
push 5 1
pop
pop
pop
pop

예제 출력 1

5 1
3 2
3 5
0 0

코멘트

현재 작성된 코멘트가 없습니다.