#2782. 优先队列的基本操作

优先队列的基本操作

题目描述

优先队列(priority_queue):可以允许插队的队列!

优先队列就像我们排队等待治疗,伤势越重的约先治疗。

本题创建一个小优先队列

输入格式

第1行包含一个整数 nn,表示有 nn 条关于 优先队列 的操作,在进行任何操作之前,优先队列 都是空的。接来的 NN 行,每行是一个关于 优先队列 的操作,格式和含义如下:

1:入队-把整数 x 插入优先队列(x 为 int 范围里的数)。

2:出队-队首元素出优先队列。

3:查看队首-输出队首元素的值。

4:判队空-判断优先队列是否为空。

5:队列长度-输出优先队列的长度。

6:队列置为空-把优先队列置空。

输出格式

对于 2 操作,如果这个操作失败(队列为空),则输出单词 “error”。

对于 3 操作,输出一个整数,如果这个操作失败(队列为空),则输出单词 ”error”。

对于 4 操作,如果优先队列是空,则输出 ”empty”,否则输出 ”not empty”。

样例

输入样例

13
1 1
1 2
1 3
1 4
2
3
4
5
6
2
3
4
5

输出样例

2
not empty
3
error
error
empty
0

数据范围与提示

n20000 n ≤ 20000