Pagini recente » Cod sursa (job #1520776) | Cod sursa (job #2155993) | Cod sursa (job #842974) | Cod sursa (job #2287295) | Cod sursa (job #2932641)
#include <fstream>
#include <set>
#include <unordered_map>
using namespace std;
multiset <int> multiSet; //ordered
unordered_map <int, int> myMap;
int main() {
ifstream f("heapuri.in");
ofstream g("heapuri.out");
int n, op, x;
f >> n;
int nr = 0;
while (n--) {
f >> op;
if (op == 1) {
f >> x;
multiSet.insert(x);
myMap[++nr] = x;
}
else {
if (op == 2) {
f >> x;
multiSet.erase(multiSet.find(myMap[x]));//daca stergem dupa valoare sterge toate elementele cu acea valoare, dar asa putem sterge dupa pozitie
myMap.erase(x);
}
else {
g << *multiSet.begin() << "\n";
}
}
}
f.close();
g.close();
return 0;
}