Pagini recente » Cod sursa (job #2755824) | Cod sursa (job #2420397) | Cod sursa (job #203594) | Cod sursa (job #1526216) | Cod sursa (job #1367412)
#include <cstdio>
#include <vector>
#define MOD 666013
using namespace std;
int N, op, x;
vector<int> M[MOD];
inline vector<int>::iterator cautare(int x)
{
int a=x%MOD;
vector<int>::iterator it;
for(it=M[a].begin();it!=M[a].end();it++)
if(*it==x)
return it;
return M[a].end();
}
inline void adaugare (int x)
{
int a=x%MOD;
if(cautare(x)==M[a].end())
M[a].push_back(x);
}
inline void stergere (int x)
{
int a=x%MOD;
vector<int>::iterator it=cautare(x);
if(it!=M[a].end())
M[a].erase(it);
}
int main()
{
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%d",&N);
while(N)
{
scanf("%d %d",&op,&x);
if(op==1)
adaugare(x);
else if(op==2) stergere(x);
else printf("%d\n",cautare(x)!=M[x%MOD].end());
N--;
}
return 0;
}