Pagini recente » Cod sursa (job #1392791) | Cod sursa (job #1014847) | Cod sursa (job #2421358) | Cod sursa (job #830372) | Cod sursa (job #1757970)
#include <fstream>
#include <queue>
#include <utility>
#include <vector>
using namespace std;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
bool uz[200001];
struct cmp
{
bool operator() (const pair<int,int> &a,const pair<int,int> &b)
{
return a.first>b.first;
}
};
priority_queue<pair<int,int> ,vector<pair<int,int> >, cmp> Q;
int main()
{
int i,a,b,n,nr=0;
fin>>n;
for(i=1;i<=n;i++)
{
fin>>a;
if(a==1)
{
nr++;
fin>>b;
Q.push(make_pair(b,nr));
}
if(a==2)
{
fin>>b;
uz[b]=1;
}
if(a==3)
{
while(uz[Q.top().second]) Q.pop();
fout<<Q.top().first<<"\n";
}
}
}