Pagini recente » Cod sursa (job #1921766) | Cod sursa (job #2315631) | Cod sursa (job #1893247) | Cod sursa (job #1704026) | Cod sursa (job #265558)
Cod sursa(job #265558)
#include <fstream>
#include <set>
#include <algorithm>
using namespace std;
set<int> Hash[1000000];
const int M = 999997;
inline int get_key(int X) {return X % M;}
inline void addHash(int X) {Hash[get_key(X)].insert(X);}
inline void eraseHash(int X) {
int key = get_key(X);
if (Hash[key].find(X) == Hash[key].end()) return;
Hash[key].erase(X);
}
inline int isHash(int X) {
int key = get_key(X);
return Hash[key].find(X) != Hash[key].end();
}
int main() {
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
int n;
fin >> n;
while (n--) {
int op, X;
fin >> op >> X;
if (op == 1) addHash(X);
if (op == 2) eraseHash(X);
if (op == 3) fout << isHash(X) << '\n';
}
return 0;
}