Pagini recente » Istoria paginii planificare/sedinta-20080201 | Monitorul de evaluare | Cod sursa (job #1288038) | Cod sursa (job #1038127) | Cod sursa (job #2174604)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
const int MOD = 666013;
vector <int> table[MOD + 1];
bool find(int x) {
int xmod = x % MOD;
for (int i = 0; i < table[xmod].size(); i++) {
if (table[xmod][i] == x) {
return true;
}
}
return false;
}
void add(int x) {
table[x % MOD].push_back(x);
}
void _delete(int x) {
int xmod = x % MOD;
for (int i = 0; i < table[xmod].size(); i++) {
if (table[xmod][i] == x) {
swap(table[xmod][i], table[xmod][table[xmod].size()]);
table[xmod].pop_back();
return;
}
}
}
int main() {
int n;
ifstream cin ("hashuri.in");
ofstream cout ("hashuri.out");
cin >> n;
for (int i = 1; i <= n; i++) {
int op, x;
cin >> op >> x;
if (op == 1) {
add(x);
} else if (op == 2) {
_delete(x);
} else {
cout << (find(x) ? '1' : '0') << "\n";
}
}
return 0;
}