P1026 - 优先队列

题目描述

优先队列是一种数据结构,它维护着一组元素S,每个元素都有一个关联的值(键),并支持以下操作:

  • insert(S, k):插入一个元素k到集合S中
  • extractMax(S): 从S中删除键值最大的元素并返回该键值

请编写一个程序,对优先队列S执行insert(S, k)extractMax(S)

优先队列中存储的是int型整数,这些整数也是优先队列的键。

输入格式

对优先队列S输入多条命令,命令以insert kextractend的形式给出,每个命令占1行,这里的k代表插入的整数,end代表命令输入完毕

输出格式

对于每一个extract命令,输出一个从优先队列S中取出的值(最大的元素),每个值占1行

如果执行extract命令时,优先队列S中没有可以取出的元素时,忽略掉该命令即可不需要处理

输入输出样例

输入样例 输出样例
insert 8
insert 2
extract
insert 10
extract
insert 11
extract
extract
extract
extract
end
8
10
11
2

数据范围与提示

100%的数据:操作命令总数 <= 2000,插入到优先队列中的所有整数都在int表示范围内

测试点数目

共10个测试点,每个测试点10分

时间与内存限制

每个测试点时间:1000ms(1.0s),内存:256MiB

输入输出模式

本OJ支持两种输入输出模式

1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:P1026.in,输出文件名为:P1026.out