Pagini recente » Cod sursa (job #2721661) | Istoria paginii utilizator/buicescu-bungiu-postavaru | Cod sursa (job #351836) | Cod sursa (job #1026338) | Cod sursa (job #2550005)
#include <fstream>
#include <vector>
using namespace std;
typedef vector<int>::iterator vit;
ifstream cin("hashuri.in");
ofstream cout("hashuri.out");
const int mod = 666013;
vector <int> h[mod];
vit find_value(int x)
{
int list_id = x % mod;
for(vit it = h[list_id].begin(); it != h[list_id].end(); it ++)
if(*it == x)
return it;
return h[list_id].end();
}
void insert_value(int x)
{
int list_id = x % mod;
if(find_value(x) == h[list_id].end())
h[list_id].push_back(x);
}
void erase_value(int x)
{
int list_id = x % mod;
vit itv = find_value(x);
if(itv != h[list_id].end())
h[list_id].erase(itv);
}
void query(int x)
{
int list_id = x % mod;
vit itv = find_value(x);
(itv == h[list_id].end()) ?
cout << 0 << '\n' : cout << 1 << '\n';
}
int main()
{
int n, i, x, y;
cin >> n;
for(int i = 1 ; i <= n ; i++)
{
cin >> x >> y;
if(x == 1)
insert_value(y);
else (x == 2) ?
erase_value(y) : query(y) ;
}
return 0;
}