Pagini recente » Cod sursa (job #154397) | Cod sursa (job #817139) | Cod sursa (job #2188224) | Cod sursa (job #2322933) | Cod sursa (job #2436697)
#include<fstream>
#include<vector>
std::ifstream fin("hashuri.in");
std::ofstream fout("hashuri.out");
const int MOD = 666013;
std::vector<int> lista[MOD];
inline std::vector<int>::iterator find_value(int x) {
int list = x % MOD;
std::vector<int>::iterator it;
for (it = lista[list].begin(); it != lista[list].end(); ++it)
if (*it == x)
return it;
return lista[list].end();
}
inline void insert_value(int x) {
int list = x % MOD;
if (find_value(x) == lista[list].end())
lista[list].push_back(x);
}
inline void erase_value(int x) {
int list = x % MOD;
std::vector<int>::iterator it = find_value(x);
if (it != lista[list].end())
lista[list].erase(it);
}
inline void InsertValue(int x) {
int list = x % MOD;
}
int main() {
int numarOperatii, operatie, numar;
fin >> numarOperatii;
for (int i = 0; i < numarOperatii; ++i) {
fin >> operatie >> numar;
switch (operatie) {
case 1:
insert_value(numar);
break;
case 2:
erase_value(numar);
break;
default:
fout << (find_value(numar) != lista[numar % MOD].end())<<"\n";
break;
}
}
fin.close();
fout.close();
return 0;
}