Cod sursa(job #2623625)

Utilizator CosminMorarMorar Cosmin Andrei CosminMorar Data 3 iunie 2020 15:14:35
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <bits/stdc++.h>
#define MOD 99839
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
int n, operatie, nr;

class hashmap {
private:
	vector<int> v[MOD];

public:
	void add(int x) {
		if (find(x) == -1) {
			v[x % MOD].push_back(x);
		}
	}

	void del(int x) {
		int pos = find(x);
		if (pos != -1)
			v[x % MOD].erase(v[x % MOD].begin() + pos);
	}

	int find(int x) {
		int cnt = 0;
		for (int nr : v[x % MOD]) {
			if (nr == x)
				return cnt;
			cnt++;
		}
		return -1;
	}
} hmap;

int main() {
	fin >> n;
	for (int i = 1; i <= n; i++) {
		fin >> operatie >> nr;
		if (operatie == 1)
			hmap.add(nr);
		else if (operatie == 2)
			hmap.del(nr);
		else {
			int pos = hmap.find(nr);
			if (pos == -1)
				fout << 0 << '\n';
			else
				fout << 1 << '\n';
		}
	}
    return 0;
}