Pagini recente » Cod sursa (job #404300) | Cod sursa (job #1352889) | Cod sursa (job #3127328) | Cod sursa (job #1355366) | Cod sursa (job #394578)
Cod sursa(job #394578)
#include<algorithm>
#include<bitset>
#include<queue>
using namespace std;
#define mp make_pair
#define dim 200005
#define fs first
#define sc second
int i,in;
bitset <dim> d;
struct cmp
{
bool operator () ( const pair <int,int> &a , const pair <int,int> &b) const
{
return a.fs>b.fs;
}
};
priority_queue < pair <int,int> , vector<pair <int,int> > ,cmp> q;
int main ()
{
freopen("heapuri.in","r",stdin);
freopen("heapuri.out","w",stdout);
int m,t,x;
scanf("%d",&m);
for(int i=1;i<=m;i++)
{
scanf("%d",&t);
if(t==1)
{
scanf("%d",&x);
q.push (mp (x,++in));
}
else
if(t==2)
{
scanf("%d",&x);
d[x]=1;
}
else
{
for( ; d[q.top ().sc] ; q.pop () );
printf("%d\n",q.top().fs);
}
}
}