#A1516. 【例】大根堆

【例】大根堆

题目描述

给定一个数列,初始为空,请支持下面三种操作:

1.给定一个整数 xx,请将 xx 加入到数列中。

2.输出数列中最大的数。

3.删除数列中最大的数(如果有多个数最大,只删除 1 个)。

输入

第一行是一个整数,表示操作的次数 nn

接下来 nn 行,每行表示一次操作。每行首先有一个整数 opop 表示操作类型。

op=1op=1,则后面有一个整数 xx,表示要将 xx 加入数列。

op=2op=2,则表示要求输出数列中的最大数。

op=3op=3,则表示删除数列中的最大数。如果有多个数最大,只删除 1 个。

输出

对于每个操作 2,输出一行一个整数表示答案。

5
1 2
1 5
2
3
2
5
2

提示

1n106​,1x<231​,op1,2,31≤n≤10​^6​,1≤x<2​^{31}​,op∈{1,2,3}