Pagini recente » Cod sursa (job #3149988) | Cod sursa (job #2741198) | Cod sursa (job #1716927) | Cod sursa (job #2906458) | Cod sursa (job #1989002)
#include <bits/stdc++.h>
#define MOD 666013
using namespace std;
vector <int> HASH[MOD];
vector <int>::iterator it;
int N, op, el;
inline vector <int>::iterator Search(int x)
{
int h = x % MOD;
for(it = HASH[h].begin(); it != HASH[h].end(); ++it)
if(*it == x) return it;
return HASH[h].end();
}
inline void Add(int x)
{
int h = x % MOD;
if(Search(x) == HASH[h].end()) HASH[h].push_back(x);
}
inline void Delete(int x)
{
int h = x % MOD;
it = Search(x);
if(it != HASH[h].end()) HASH[h].erase(it);
}
inline void Solve(int tip, int x)
{
if(tip == 1) Add(x);
else if(tip == 2) Delete(x);
else
{
if(Search(x) != HASH[x % MOD].end()) printf("1\n");
else printf("0\n");
}
}
int main()
{
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
scanf("%d", &N);
for(int i = 1; i <= N; ++i)
{
scanf("%d %d", &op, &el);
Solve(op, el);
}
return 0;
}