#include <bits/stdc++.h>
using namespace std;
priority_queue<int> q;//开个stl大根堆
void show()//输出队首元素
{
if(q.empty())cout << "empty" << endl;
else cout << q.top() << endl;
}
int main()
{
int n;cin >> n;
for(int i=1;i<=n;i++)//循环n次输入
{
string s;cin >> s;
if(s=="push")//根据字符串模拟一下就行
{
int x;cin >> x;
q.push(x);
}
else if(s=="top")
{
show();
}
else if(s=="pop")
{
show();
if(!q.empty())q.pop();
}
}
//注意pop和输出top的时候要判断一下堆是否为空
return 0;
}

京公网安备 11010502036488号