Pagini recente » Cod sursa (job #829386) | Cod sursa (job #3036569) | Cod sursa (job #1671018) | Cod sursa (job #2364174) | Cod sursa (job #1612268)
#include<stdio.h>
#include<vector>
#define dim 670000
using namespace std;
vector<int> has[dim];
inline vector<int>::iterator se(int x){
int lista=x%dim;
vector<int>::iterator it;
for(it=has[lista].begin();it!=has[lista].end();++it)
if(*it==x)
return it;
return has[lista].end();
}
inline void update_1 (int x){
int lista = x%dim;
if( se(x)==has[lista].end())
has[lista].push_back(x);
}
inline void update_2 (int x){
int lista = x%dim;
vector<int>::iterator it =se(x);
if( it!= has[lista].end())
has[lista].erase(it);
}
int n,op,x;
int main(){
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
for(scanf("%d",&n);n;n--){
scanf("%d%d",&op,&x);
switch(op){
case 1: {
update_1(x);
break;
}
case 2: {
update_2(x);
break;
}
case 3: {
if( se(x)== has[x%dim].end())
printf("%d\n",0);
else
printf("%d\n",1);
break;
}
}
}
return 0;
}