Pagini recente » Monitorul de evaluare | Cod sursa (job #759483) | Cod sursa (job #1260963) | Cod sursa (job #558818) | Cod sursa (job #2038310)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
const int M=666013;
vector <int> TA[M+5];
vector <int>::iterator it;
int h(int key)
{
return key%M;
}
int main()
{
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
int n,tip,x,a,i;
scanf("%d",&n);
for(i=1;i<=n;++i)
{
scanf("%d%d",&tip,&x);
a=h(x);
if(tip==1)
{
it=find(TA[a].begin(),TA[a].end(),x);
if(it==TA[a].end())
TA[a].push_back(x);
}
else
{
if(tip==2)
{
it=find(TA[a].begin(),TA[a].end(),x);
if(it!=TA[a].end())
TA[a].erase(it);
}
else
{
it=find(TA[a].begin(),TA[a].end(),x);
if(it!=TA[a].end())
printf("1\n");
else
printf("0\n");
}
}
}
return 0;
}