Pagini recente » Cod sursa (job #2092097) | Cod sursa (job #3252106) | Cod sursa (job #2924384) | Cod sursa (job #1459126)
#include<cstdio>
#include<vector>
#define MOD 666013
using namespace std;
int n;
vector<int> v[MOD];
inline vector<int>::iterator gaseste(int x)
{
int list = x % MOD;
vector<int>::iterator it;
for ( it = v[list].begin(); it != v[list].end(); ++it)
if ( *it == x)
return it;
return v[list].end();
}
inline void insereaza(int x)
{
int list = x % MOD;
if ( gaseste(x) == v[list].end() )
v[list].push_back(x);
}
inline void sterge(int x)
{
int list = x % MOD;
vector<int>::iterator it = gaseste(x);
if ( it != v[list].end() )
v[list].erase(it);
}
int main()
{
freopen("hash.in","r",stdin);
freopen("hash.out","w",stdout);
int op, x;
for (scanf("%d", &n); n; --n)
{
scanf("%d %d", &op, &x);
if ( op == 1)
{
insereaza(x);
continue;
}
if( op == 2)
{
sterge(x);
continue;
}
printf("%d\n", gaseste(x) != v[x % MOD].end());
}
}