Cod sursa(job #751447)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
#define mod 666013
vector <int> v[mod];
inline vector <int> ::iterator find_value(int x)
{
int list=x%mod;
vector <int> ::iterator it;
for(it=v[list].begin();it!=v[list].end();++it)
if(*it==x)
return it;
return v[list].end();
}
inline void insert_value(int x)
{
int list=x%mod;
if(find_value(x)==v[list].end())
v[list].push_back(x);
}
inline void erase_value(int x)
{
int list=x%mod;
vector <int> ::iterator it;
it=find_value(x);
if(it!=v[list].end())
v[list].erase(it);
}
int main()
{
int n,tip,x;
fin>>n;
for(;n;--n)
{
fin>>tip >>x;
if(tip==1)
{
insert_value(x);
continue;
}
else
if(tip==2)
{
erase_value(x);
continue;
}
fout<<(find_value(x)!=v[x%mod].end()) <<'\n';
}
return 0;
}