Pagini recente » Cod sursa (job #1610660) | Istoria paginii descriere/ordonare/reducere | Cod sursa (job #143540) | Cod sursa (job #2751246) | Cod sursa (job #2472389)
#include <bits/stdc++.h>
#define ll long long
#define uns unsigned
#define newline '\n'
using namespace std;
///******************
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
#define P 370003
vector <int> h[P];
inline void Add(int x)
{
int r = x % P;
h[r].push_back(x);
}
inline void Delete(int x)
{
int r = x % P;
for (int i = 0; i < h[r].size(); i++)
if (h[r][i] == x)
{
swap(h[r][i], h[r][h[r].size() - 1]);
h[r].pop_back();
return;
}
}
inline bool Search(int x)
{
int r = x % P;
for (int i = 0; i < h[r].size(); i++)
if (h[r][i] == x)
{
return true;
}
return false;
}
int main()
{
int n;
fin >> n;
for (int i = 1; i <= n; i++)
{
int x, type;
fin >> type >> x;
if (type == 1)
{
if (!Search(x))
Add(x);
}
else if (type == 2)
{
Delete(x);
}
else
{
fout << Search(x) << newline;
}
}
return EXIT_SUCCESS;
}