Pagini recente » Cod sursa (job #1162358) | Cod sursa (job #775702) | Cod sursa (job #1366439) | Cod sursa (job #15999) | Cod sursa (job #1678180)
#include <fstream>
#define MOD 999983
#include <vector>
using namespace std;
int n,op,x;
void add(int);
int cauta(int);
void sterge(int);
vector <int> V[MOD];
int main(){
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%d",&n);
for (int i=0;i<n;i++){
scanf("%d%d",&op,&x);
if (op==1){
add(x);
}
if (op==2){
sterge(x);
}
if (op==3){
if (cauta(x)!=V[x%MOD].size()){
printf("1\n");
}
else {
printf("0\n");
}
}
}
}
void add(int x){
int lista=x%MOD;
if (cauta(x)==V[lista].size()){
V[lista].push_back(x);
}
}
void sterge(int x){
int lista=x%MOD;
if (V[lista].size()!=cauta(x)){
V[lista].erase(V[lista].begin()+cauta(x));
}
}
int cauta(int x){
int lista=x%MOD;
for (int i=0;i<V[lista].size();i++){
if (V[lista][i]==x){
return i;
}
}
return V[lista].size();
}