Pagini recente » Cod sursa (job #105068) | Cod sursa (job #696039) | Cod sursa (job #943033) | Cod sursa (job #1279752) | Cod sursa (job #1569487)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
const int MOD = 666013;
int N;
vector<int> H[666013 + 10];
void addH(int nr)
{
bool ok = false;
int key = nr % MOD;
for (vector<int>::iterator it = H[key].begin(); it != H[key].end(); ++it)
{
if (*it == nr)
ok = true;
}
if (!ok)
H[key].push_back(nr);
}
void delH(int nr)
{
int key = nr % MOD;
for (vector<int>::iterator it = H[key].begin(); it != H[key].end(); ++it)
{
if (*it == nr)
{
H[key].erase(it);
break;
}
}
}
int inH(int nr)
{
int key = nr % MOD;
for (vector<int>::iterator it = H[key].begin(); it != H[key].end(); ++it)
{
if (*it == nr)
return 1;
}
return 0;
}
int main()
{
fin >> N;
for (int i = 1, tip, x; i <= N; ++i)
{
fin >> tip >> x;
if (tip == 1)
addH(x);
else if (tip == 2)
delH(x);
else
fout << inH(x) << '\n';
}
fin.close();
fout.close();
return 0;
}