Pagini recente » Cod sursa (job #1898095) | Cod sursa (job #708676) | Cod sursa (job #1912592) | Cod sursa (job #989635) | Cod sursa (job #1898587)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
const int MOD = 666013;
vector < int > H[MOD];
vector < int > :: iterator find_value(int x) {
int cnt = x % MOD;
for (vector < int > :: iterator it = H[cnt].begin(); it != H[cnt].end(); ++ it)
if (*it == x)
return it;
return H[cnt].end();
}
void insert_value(int x) {
int cnt = x % MOD;
if (find_value(x) == H[cnt].end())
H[x % MOD].push_back(x);
}
void erase_value(int x) {
int cnt = x % MOD;
vector < int > :: iterator it = find_value(x);
if (it != H[cnt].end())
H[cnt].erase(it);
}
int main() {
int n;
fin >> n;
for (int i = 0; i < n; ++ i) {
int type, temp;
fin >> type >> temp;
switch (type) {
case 1:
insert_value(temp);
break;
case 2:
erase_value(temp);
break;
case 3:
fout << (find_value(temp) != H[temp % MOD].end() ? 1 : 0) << "\n";
break;
}
}
fin.close();
fout.close();
return 0;
}