Cod sursa(job #3324591)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 22 noiembrie 2025 17:30:32
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.07 kb
#include <fstream>
#include <vector>

using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
const int MOD = (1 << 16) - 1;
vector<int> H[MOD + 1];

void insereaza(int x) {
    int r = x & MOD;
    for(int i = 0; i < (int)H[r].size(); i++) {
        if(H[r][i] == x) {
            return;
        }
    }
    H[r].push_back(x);
}

void sterg(int x) {
    int r = x & MOD;
    for(int i = 0; i < (int)H[r].size(); i++) {
        if(H[r][i] == x) {
            H[r].erase(H[r].begin() + i);
            return;
        }
    }
}

bool exista(int x) {
    int r = x & MOD;
    for(int i = 0; i < (int)H[r].size(); i++) {
        if(H[r][i] == x) {
            return 1;
        }
    }
    return 0;
}

int main()
{
    int n;
    fin >> n;
    for(int i = 1; i <= n; ++i) {
        int op, x;
        fin >> op >> x;
        if(op == 1) {
            insereaza(x);
        }
        else if(op == 2) {
            sterg(x);
        }
        else {
            fout << exista(x) << '\n';
        }
    }
    return 0;
}