Pagini recente » Cod sursa (job #2972772) | Cod sursa (job #539350) | Cod sursa (job #651835) | Cod sursa (job #639384) | Cod sursa (job #2908460)
#include <bits/stdc++.h>
using namespace std;
int n, op, x;
const int MOD = 666017;
vector<int>Hash[MOD + 2];
ifstream in("hashuri.in");
ofstream out("hashuri.out");
int find_elem(int a)
{
int bucket = a % MOD;
for(int i = 0; i < Hash[bucket].size(); i++)
{
if(Hash[bucket][i] == a)
return i;
}
return -1;
}
void insert_elem(int a)
{
int bucket = a % MOD;
if(find_elem(a) == -1)
Hash[bucket].push_back(a);
}
void delete_elem(int a)
{
int bucket = a % MOD;
int pos = find_elem(a);
if(pos != -1)
{
Hash[bucket].erase(Hash[bucket].begin() + pos);
}
}
int main()
{
cin >> n;
while(n--)
{
in >> op >> x;
if(op == 1)
insert_elem(x);
else if(op == 2)
delete_elem(x);
else if(op == 3)
out << (find_elem(x) != -1) << '\n';
}
return 0;
}