编程题
### 问题描述 小婷有一个数列,包含了很多个数,每个数都有一个隐藏值,不同的数可能有相同的隐藏值,小婷想维护一个集合,但是她太笨了,需要你帮助她维护 $q$ 个操作,这个集合支持两种操作: $1$ :将一个隐藏值为 $x$ 的数放入集合,之后输出集合最大的数。 $2$ :从集合中拿出最早放入集合的数,如果在此操作之前,集合为空,则忽略此操作,之后输出集合中最大的数,如果集合中没有数,则输出 $-1$ 。 隐藏值的大小是事关小婷的开心程度的,不过我们这里不用关心隐藏值是什么,把每个数的大小当作它的隐藏值即可,即 $3$ 的隐藏值就是 $3$ 。 ### 输入格式 第一行为一个数 $q$。 第二行到第 $q+1$ 行,每行一个操作数 $opt$,若 $opt==1$,则额外输入一个数 $x$ ,代表要加入集合的数。 ### 输出格式 输出 $q$ 行,每一行输出每一个操作的答案。 如果某次操作后集合中没有数,则对于此次操作输出 $-1$ 。 ### 样例输入 ```test 7 1 233 2 1 2333 1 6666 1 555 2 2 ``` ### 样例输出 ```test 233 -1 2333 6666 6666 6666 555 ``` ### 数据范围 $1<=q,x<=10^5$ 。
查看答案
赣ICP备20007335号-2