Cod sursa(job #3143458)

Utilizator cosmin983Pascale Cosmin cosmin983 Data 30 iulie 2023 13:55:39
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.05 kb
#include <fstream>
#include <vector>


using namespace std;


ifstream cin("hashuri.in");
ofstream cout("hashuri.out");


const int MOD = 666013;


vector <int> hashing[MOD];
int query, operatie, numar;


auto find_value(int x) {
	int array = x % MOD;
	for (auto iterator = hashing[array].begin(); iterator != hashing[array].end(); ++iterator) {
		if (*iterator == x) {
			return iterator;
		}
	}
	return hashing[array].end();
}


void insert_value(int x) {
	int array = x % MOD;
	if (find_value(x) == hashing[array].end()) {
		hashing[array].push_back(x);
	}
}


void erase_value(int x) {
	int array = x % MOD;
	auto iterator = find_value(x);
	if (iterator != hashing[array].end()) {
		hashing[array].erase(iterator);
	}
}


int main() {
	cin >> query;
	while (query--) {
		cin >> operatie >> numar;
		if (operatie == 1) {
			insert_value(numar);
			continue;
		}
		if (operatie == 2) {
			erase_value(numar);
			continue;
		}
		cout << (find_value(numar) != hashing[numar % MOD].end()) << '\n';
	}
	return 0;
}