Cod sursa(job #2736405)

Utilizator HadircaDionisieHadirca Dionisie HadircaDionisie Data 3 aprilie 2021 14:08:49
Problema Hashuri Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>
#include <unordered_set>

using namespace std;

ifstream fin("hashuri.in");
ofstream fout("hashuri.out");


long long hashfunction(int x) {
	unsigned idx = 1ULL * 459727289478483 * x;
	idx >>= (12);
	return idx;
}
int main() {

	unordered_set<long long> values;
	int op, num;
	unsigned long long val;
	int n;
	fin >> n;
	for (int i = 0; i < n; i++) {
		fin >> op >> num;

		val = hashfunction(num);

		if (op == 1) {
			values.insert(val);
		}
		else if (op == 2) {
			if (values.find(val) != values.end()) {
				values.erase(values.find(val));
			}
		}
		else {
			if (values.find(val) != values.end()) {
				fout << '1' << '\n';
			}
			else {
				fout << '0' << '\n';
			}
		}

	}
	
	
	return 0;
}