Pagini recente » Cod sursa (job #1961321) | Cod sursa (job #3246990) | Cod sursa (job #200094) | Cod sursa (job #221049) | Cod sursa (job #407549)
Cod sursa(job #407549)
#include<algorithm>
#include<queue>
#include<bitset>
using namespace std;
#define fs first
#define sc second
#define pb push_back
#define mp make_pair
bitset <200004> viz;
struct cmp
{
bool operator () ( const pair<int,int> &a , const pair<int,int> &b) const
{
return a>b;
}
};
priority_queue <pair< int ,int>, vector < pair < int,int > > , cmp > q ;
void read()
{
int x,n,c=0,t;
scanf("%d",&n);
for(int i=1; i<=n;i++)
{
scanf("%d",&t);
if( t==1)
{
scanf("%d",&x);
q.push (mp ( x,++c ));
}
else
if(t==2)
{
scanf("%d",&x);
viz[ x ] =1;
}
else
{
while( viz [ q.top().sc ] ==1 )
q.pop();
printf("%d\n",q.top().fs);
// q.pop();
}
}
}
int main ()
{
freopen("heapuri.in","r",stdin);
freopen("heapuri.out","w",stdout);
read();
return 0;
}