Pagini recente » Cod sursa (job #2822951) | Cod sursa (job #2028149) | Cod sursa (job #3242832) | Cod sursa (job #2837677) | Cod sursa (job #641918)
Cod sursa(job #641918)
#include <cstdlib>
#include <iostream>
#include<vector>
#include<stdio.h>
using namespace std;
#define prim 666013
int n;
vector<int> v[prim];
inline vector<int>::iterator cautare(int val)
{
int list = val % prim;
vector<int>::iterator it;
for (it = v[list].begin(); it != v[list].end(); ++it)
if (*it == val)
return it;
return v[list].end();
}
inline void sterg(int val)
{int list=val % prim;
vector<int>::iterator it=cautare(val);
if(it!=v[list].end())
v[list].erase(it);
}
inline void adaug(int val)
{int list=val%prim;
if(cautare(val)==v[list].end());
v[list].push_back(val);
}
int main()
{int operatie,valoare;
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
for (scanf("%d",&n);n;--n)
{
scanf("%d %d",&operatie,&valoare);
if (operatie==1) { adaug(valoare);
continue;
}
if (operatie==2) { sterg(valoare);
continue;
}
printf("%d\n",cautare(valoare)!=v[valoare % prim].end());
}
return 0;
}