Pagini recente » Cod sursa (job #1139729) | Cod sursa (job #1081464) | Istoria paginii runda/moisil2012 | Cod sursa (job #2149306) | Cod sursa (job #2200520)
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace std;
typedef __gnu_pbds::gp_hash_table<int, __gnu_pbds::null_type> UnorderedSet;
typedef long long i64;
class Input {
enum { SIZE = 1 << 14 };
public:
Input() : ii(SIZE) {}
char rchar() {
if (ii == SIZE) {
ii = 0;
int s = fread(in, 1, SIZE, stdin);
if (s < SIZE) fill(in + s, in + SIZE, EOF);
}
return in[ii++];
}
int read_int() {
char c;
int ret = 0, sign = 0;
while ((c = rchar()) < '-') if (c == EOF) return -1;
if (c == '-') sign = 1;
else ret = c - '0';
while ((c = rchar()) >= '0') ret = ret * 10 + c - '0';
return sign ? -ret : ret;
}
i64 read_i64() {
char c;
i64 ret = 0;
while ((c = rchar()) < '0');
ret = c - '0';
while ((c = rchar()) >= '0') ret = ret * 10 + c - '0';
return ret;
}
int ii;
char in[SIZE];
} input;
int main() {
#ifdef INFOARENA
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
#endif
UnorderedSet s;
int num_queries = input.read_int();
while (num_queries--) {
int query_type = input.read_int(), el = input.read_int();
if (query_type == 1) {
s.insert(el);
} else if (query_type == 2) {
s.erase(el);
} else {
putchar((s.find(el) != s.end()) + '0');
putchar('\n');
}
}
return 0;
}