Pagini recente » Cod sursa (job #1311727) | Cod sursa (job #423705) | Cod sursa (job #2061547) | Cod sursa (job #1324169) | Cod sursa (job #2896437)
#include <iostream>
#include <fstream>
#include <vector>
const int M = 666663;
std :: vector <int> hash[M];
bool search (int x) {
int val = x % M;
for (int i : hash[val]) {
if (i == x) return true;
}
return false;
}
void add (int x) {
int val = x % M;
hash[val].push_back(x);
}
void del (int x) {
int val = x % M;
int size = hash[val].size();
for (int i = 0; i < size; ++i) {
if (hash[val][i] == x) {
std :: swap(hash[val][i], hash[val][size-1]);
break;
}
}
hash[val].pop_back();
}
int main() {
std :: ifstream fin ("hashuri.in");
std :: ofstream fout ("hashuri.out");
int N;
fin >> N;
for (int i = 0; i < N; ++i) {
int op, x;
fin >> op >> x;
switch (op)
{
case 1:
if (!search(x)) add(x);
break;
case 2:
if (search(x)) del(x);
break;
case 3:
fout << search(x) << '\n';
}
}
return 0;
}