SOJ ONLINE JUDGE

문제 168

삭제 가능한 우선순위 큐

내 상태
미제출
난이도
168번 문제 난이도 보기
Gold V
출제자
rlatjwls7882
시간 제한
2000 ms
메모리 제한
1024 MB
168번 문제 태그 보기
우선순위 큐자료 구조

처음에 비어 있는 정수 다중집합 $S$가 있다. $S$에는 같은 값이 여러 개 들어갈 수 있다. 다음 $Q$개의 쿼리를 순서대로 처리해 보자.

  • $1\ x$: $S$에 정수 $x$를 하나 추가한다.
  • $2\ x$: $S$에서 $x$를 하나 삭제한다. $S$에 $x$가 들어 있음이 보장된다.
  • $3$: $S$에서 최댓값을 하나 삭제한다.
  • $4$: $S$의 최댓값을 구한다.
  • $5$: $S$의 원소 수를 구한다. 중복된 원소도 각각 센다.
  • $6$: $S$가 비어 있는지 판별한다.

$3$번과 $4$번 쿼리에서는 $S$가 비어 있지 않음이 보장된다.

입력

첫 번째 줄에 정수 $Q$가 주어진다. $(1 \le Q \le 200\,000)$

두 번째 줄부터 $Q$개의 줄에 걸쳐 쿼리가 주어진다. 각 쿼리는 본문에 설명된 형식으로 주어지며, 한 줄의 값은 공백으로 구분되어 주어진다.

$1$번, $2$번 쿼리에는 정수 $x$가 주어진다. $(-10^{18} \le x \le 10^{18})$

출력

$4$번, $5$번, $6$번 쿼리의 답을 쿼리가 주어진 순서대로 한 줄에 하나씩 출력한다. $6$번 쿼리에서는 $S$가 비어 있다면 $1$을, 그렇지 않다면 $0$을 출력한다.

예제 입력 1

11
6
1 7
1 3
1 7
5
2 7
4
3
4
3
6

예제 출력 1

1
3
7
3
1

제출

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