Pagini recente » Cod sursa (job #1314303) | Cod sursa (job #2750725) | Cod sursa (job #1005875) | Cod sursa (job #1223575) | Cod sursa (job #1617972)
#include <fstream>
#include <vector>
#define MOD 666013
using namespace std;
ifstream cin("hashuri.in");
ofstream cout("hashuri.out");
vector <int> hs[MOD + 5];
int val, n;
vector <int> :: iterator find_val(int val) {
int val_mod = val % MOD;
for(int i = 0; i < (int) hs[val_mod].size(); ++i) {
if(hs[val_mod][i] == val) {
return hs[val_mod].begin() + i;
}
}
return hs[val_mod].end();
}
void ins_val(int val) {
int val_mod = val % MOD;
if(find_val(val) == hs[val_mod].end()) {
hs[val_mod].push_back(val);
}
}
void del_val(int val) {
int val_mod = val % MOD;
vector <int> :: iterator curr_it = find_val(val);
if(curr_it != hs[val_mod].end()) {
hs[val_mod].erase(curr_it);
}
}
int main() {
cin >> n;
for(int i = 1; i <= n; ++i) {
int op, val;
cin >> op >> val;
if(op == 1) {
ins_val(val);
}
else if(op == 2) {
del_val(val);
}
else if(op == 3) {
cout << (find_val(val) != hs[val % MOD].end()) << '\n';
}
}
return 0;
}