Cod sursa(job #806206)
#include <fstream>
#include <vector>
using namespace std;
#define m 666013
vector <int> v[m];
void add(int x)
{
const int mod = x%m;
int i;
for (i=0;i<v[mod].size();i++)
if (v[mod][i] == x) return;
v[mod].push_back(x);
}
void del(int x)
{
const int mod = x%m;
int i;
for (i=0;i<v[mod].size();i++)
if (v[mod][i] == x)
{
v[mod][i] = v[mod].back();
v[mod].pop_back();
return;
}
}
bool search(int x)
{
const int mod = x%m;
int i;
for (i=0;i<v[mod].size();i++)
if (v[mod][i] == x) return true;
return false;
}
int main()
{
ifstream in("hashuri.in"); ofstream out("hashuri.out");
int n, i, c, x;
in>>n;
for (i=0;i<n;i++)
{
in>>c>>x;
switch (c)
{
case 1: add(x); break;
case 2: del(x); break;
case 3: out<<search(x)<<endl; break;
}
}
}