Pagini recente » Cod sursa (job #1202393) | Cod sursa (job #876752) | Cod sursa (job #729565) | Cod sursa (job #1619131) | Cod sursa (job #488291)
Cod sursa(job #488291)
#include<vector>
#include<cstdio>
const int MOD = 666013;
const int NMAX=1000005;
using namespace std;
int n;
vector<int> v[NMAX];
typedef vector<int>::iterator IT;
IT querry(int x)
{IT it;
int k=x%MOD;
for(it=v[k].begin();it!=v[k].end();++it)
if(*it==x)
return it;
return it;
}
void update(int x)
{IT it;
it=querry(x);
if(it==v[x%MOD].end())
v[x%MOD].push_back(x);
}
void erase(int x)
{IT it;
it=querry(x);
if(it!=v[x%MOD].end())
v[x%MOD].erase(it);
}
int main()
{freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
int i,op,x,j;
scanf("%d",&n);
for(i=1;i<=n;++i)
{scanf("%d %d",&op,&x);
if(op==1)
update(x);
else
if(op==2)
erase(x);
else
if(querry(x)!=v[x%MOD].end())
printf("%d\n",1);
else
printf("%d\n",0);
}
fclose(stdin);
fclose(stdout);
return 0;
}