//https://www.luogu.org/problem/P3378
#include<cmath>
#include<bits/stdc++.h>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
#define LL long long
#define MOD 10000000
//priority_queue<int> qq;//默认从大到小
priority_queue <int,vector<int>,less<int> > p;//从大到小 (注意less<int后面两个“>”之间不能有空格
priority_queue <int,vector<int>,greater<int> > q;//从小到大 不需要头文件vector
LL read()
{
LL x=0,w=1;
char ch=0;
while(ch<'0'||ch>'9')
{
if(ch=='-')
w=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9')
{
x=x*10+ch-'0';
ch=getchar();
}
return w*x;
}
int n,t,f;
int main()
{
n=read();
while(n--)
{
f=read();
if(f==1)
{
t=read();
q.push(t);
}
if(f==2)
{
cout<<q.top()<<endl;
}
if(f==3)
{
q.pop();
}
}
return 0;
}
//q.size();//返回q里元素个数
//q.empty();//返回q是否为空,空则返回1,否则返回0
//q.push(k);//在q的末尾插入k
//q.pop();//删掉q的第一个元素
//q.top();//返回q的第一个元素
STL之优先队列
最新推荐文章于 2024-10-04 21:09:55 发布