Pagini recente » Cod sursa (job #520622) | Cod sursa (job #2291722) | Cod sursa (job #552296) | Cod sursa (job #2092477) | Cod sursa (job #1485862)
#include <fstream>
#include <map>
using namespace std;
ifstream fi ("heapuri.in");
ofstream fo ("heapuri.out");
ofstream flog("heapuri.log");
int N, elem;
map <int, int> Heap1;
map <int, int> Heap2;
void af() {
for(auto& it: Heap1)
flog << it.first << " : " << it.second << '\n';
flog << '\n';
for(auto& it: Heap2)
flog << it.first << " : " << it.second << '\n';
flog << '\n';
}
int main() {
for( fi >> N; N; -- N ) {
int op, param;
fi >> op;
switch(op) {
case 1: {
fi >> param;
Heap1[++ elem] = param;
Heap2[param] = elem;
break;
}
case 2: {
fi >> param;
map<int, int> :: iterator it = Heap1.find(param);
Heap1.erase(it);
Heap2.erase(it->second);
break;
}
case 3: {
map<int, int> :: iterator it = Heap2.begin();
fo << it->first << '\n';
}
}
af();
}
fi.close();
fo.close();
return 0;
}