Loading [MathJax]/jax/output/HTML-CSS/jax.js
编程题
                ### 问题描述

你需要实现一个可删除的大根堆,给定 q 组查询,每组查询的操作为其中一种:

  • 1 x:插入一个整数 x 进入大根堆中。
  • 2 x:输出大根堆中 x 的个数。
  • 3 x:删除一个大根堆中值为 x 的数。
  • 4 x:删除大根堆中值为 x 的所有的数。
  • 5:输出大根堆中元素数量。
  • 6:输出堆顶元素,如果堆为空则输出 null
  • 7:删除堆顶元素。

输入格式

第一行输入一个 q,表示查询数量。(1q2×105)

接下来 q 行,每行输入一组操作。

  • 1 x:插入一个整数 x 进入大根堆中。
  • 2 x:输出大根堆中 x 的个数。
  • 3 x:删除一个大根堆中值为 x 的数。
  • 4 x:删除大根堆中值为 x 的所有的数。
  • 5:输出大根堆中元素数量。
  • 6:输出堆顶元素,如果堆为空则输出 null
  • 7:删除堆顶元素。

对于 14 组操作,1x50

输出格式

对于 2,5,6 三种操作做出输出并换行,对于删除操作,若此时大根堆无法满足该操作,则不进行操作。

样例输入

15
1 3
2 3
1 4
2 4
1 3
5
6
4 3
5
2 4
2 3
1 3
3 3
7
5

样例输出

1
1
3
4
1
1
0
0
查看答案
赣ICP备20007335号-2