Cod sursa(job #846296)

Utilizator enedumitruene dumitru enedumitru Data 1 ianuarie 2013 20:13:40
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.96 kb
// 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;
}