Cod sursa(job #1891701)
| Utilizator | Data | 24 februarie 2017 11:35:41 | |
|---|---|---|---|
| Problema | Heapuri | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.7 kb |
///FLAVIUS, UBESTE-MA
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream fin( "heapuri.in" );
ofstream fout("heapuri.out");
int v[ 200010 ],i,j,n,m,x,y;
priority_queue < pair<int,int> > pq;
int main()
{
fin>>n;
for( i = 1 ; i <= n ; i++ )
{
fin>>x;
if( x == 1 )
{
fin>>x;
++y;
pq.push( {-x,y} );
}
else if( x == 2 )
{
fin>>x;
v[ x ] = 1;
}
else
{
while( v[ pq.top().second ] == 1 )
pq.pop();
fout<<-pq.top().first<<'\n';
}
}
return 0;
}
