Cod sursa(job #977247)
| Utilizator | Data | 25 iulie 2013 11:45:35 | |
|---|---|---|---|
| Problema | Heapuri | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.63 kb |
#include <fstream>
#include <set>
#include <utility>
using namespace std;
ifstream f("heapuri.in");
ofstream g("heapuri.out");
int n, a[200010], i, x, y, k;
set< pair<int, int> > s;
set< pair<int, int> >::iterator it;
int main(){
f>>n;
for(i=1; i<=n; i++)
{
f>>x;
if(x==3)
{
it=s.begin();
g<<it->first<<"\n";
}
else if(x==2)
{
f>>y;
s.erase( make_pair(a[y], y) );
}
else
{
f>>a[++k];
s.insert( make_pair(a[k], k) );
}
}
return 0;
}
