Pagini recente » Istoria paginii utilizator/andreea_yup | Rating WEF SUGE (LMA_wefgef) | Diferente pentru preoni-2007/runda-1/solutii intre reviziile 15 si 16 | Diferente pentru preoni-2006/runda-1/solutii intre reviziile 15 si 16 | Cod sursa (job #956952)
Cod sursa(job #956952)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
const int MOD = 666013;
int n;
vector <int> Hash[MOD];
void insert(int val) {
int key = val % MOD;
Hash[key].push_back(val);
}
vector <int>::iterator find(int val) {
int key = val % MOD;
for (vector <int>::iterator it = Hash[key].begin(); it != Hash[key].end(); ++it)
if (*it == val)
return it;
return Hash[key].end();
}
void erase(int val) {
int key = val % MOD;
vector <int>::iterator it = find(val);
if (it != Hash[key].end())
Hash[key].erase(it);
}
int main() {
f >> n;
while (n--) {
int type, val;
f >> type >> val;
if (type == 1)
insert(val);
else if (type == 2)
erase(val);
else {
if (find(val) == Hash[val % MOD].end())
g << "0\n";
else
g << "1\n";
}
}
return 0;
}