Pagini recente » Cod sursa (job #2894001) | Cod sursa (job #1261073) | Clasament simularesvi | Cod sursa (job #759448) | Cod sursa (job #846296)
Cod sursa(job #846296)
// Problema poate fi rezolvata si in complexitate O(NlogN) folosind arbori echilibrati de cautare, precum AVL-uri,
// arbori rosu-negru sau treapuri. Aceste structuri de date au dezavantajul ca sunt dificil de implementat,
// fapt care le face inabordabile in timp de concurs. Programatorii C++ pot totusi evita implementarea manuala a acestor structuri,
// putand folosi ca alternativa container-ul set din STL. Acest container simuleaza comportamentul unui arbore echilibrat,
// efectuand toate cele trei operatii mentionate in enunt in timp logaritmic. Se obtine 70 de puncte.
#include <fstream>
#include <set>
using namespace std;
ifstream f("hashuri.in"); ofstream g("hashuri.out");
int N;
set<int> A;
int main()
{ int op, x;
f>>N;
for (; N; --N)
{ f>>op>>x;
if (op == 1) {A.insert(x); continue;}
if (op == 2) {A.erase(x); continue;}
if (A.find(x) == A.end()) g<<"0\n"; else g<<"1\n";
}
g.close(); return 0;
}