返回题目列表
COMP2521
优先队列 · 入队/取最大
优先队列 · 入队 / 取最大
实现一个最大优先队列,处理命令流:
I x:插入整数xX:取出并打印当前最大值(保证调用时非空)
输入:第一行命令数 m;接着 m 行命令。
输出:每个 X 一行——被取出的最大值。
例:I 5 / I 1 / I 9 / X / I 3 / X → 9(最大)然后 5。
推荐用堆:I和X都O(log n)。Python 的heapq是小根堆,存负数即可当大根堆。
样例
stdin
6 I 5 I 1 I 9 X I 3 X
期望输出
9 5
python3
14