Pagini recente » Cod sursa (job #205976) | Cod sursa (job #1544568) | Cod sursa (job #2015352) | Cod sursa (job #1216464) | Cod sursa (job #2023012)
#include <cstdio>
#include <vector>
const int MOD = 24576;
std::vector <int> v[MOD];
inline void add(int x) {
int y = x % MOD;
for (int i = 0; i < v[y].size(); ++i) {
if (v[y][i] == x) {
return;
}
}
v[x].push_back(x);
}
inline void remove(int x) {
int y = x % MOD;
for (int i = 0; i < v[y].size(); ++i) {
if (v[y][i] == x) {
v[y][i] = v[y].back();
v[y].pop_back();
return;
}
}
}
inline bool query(int x) {
int y = x % MOD;
for (int i = 0; i < v[y].size(); ++i) {
if (v[y][i] == x) {
return 1;
}
}
return 0;
}
int main() {
int n, op, x;
FILE *fin = fopen("hashuri.in", "r");
fscanf(fin, "%d", &n);
FILE *fout = fopen("hashuri.out", "w");
for (; n > 0; --n) {
fscanf(fin, "%d%d", &op, &x);
if (op == 1) {
add(x);
} else if (op == 2) {
remove(x);
} else {
if (query(x)) {
fprintf(fout, "1\n");
} else {
fprintf(fout, "0\n");
}
}
}
fclose(fin);
fclose(fout);
return 0;
}