Pagini recente » Cod sursa (job #2333816) | Cod sursa (job #1023408) | Cod sursa (job #1241173) | Borderou de evaluare (job #804544) | Cod sursa (job #2892946)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
#define P 65537
vector<int> elemente[P];
int main() {
int nrOperatii, index, operatie, numar, gasit, i;
fin >> nrOperatii;
for (index = 0; index < nrOperatii; index += 1) {
fin >> operatie >> numar;
if (operatie == 1) {
if (!elemente[numar % P].empty()) {
gasit = 0;
for (auto element: elemente[numar % P]) {
if (element == numar) {
gasit = 1;
break;
}
}
if (gasit == 0) {
elemente[numar % P].push_back(numar);
}
} else {
elemente[numar % P].push_back(numar);
}
}
if (operatie == 2) {
if (!elemente[numar % P].empty()) {
gasit = 0;
i = 0;
for (auto element: elemente[numar % P]) {
if (element == numar) {
elemente[numar % P].erase(elemente[numar % P].begin() + i);
break;
}
i += 1;
}
}
}
if (operatie == 3) {
gasit = 0;
for (auto element: elemente[numar % P]) {
if (element == numar) {
fout << "1\n";
gasit = 1;
break;
}
}
if(gasit == 0){
fout<<"0\n";
}
}
}
return 0;
}