Cod sursa(job #3269242)

Utilizator stefanrotaruRotaru Stefan-Florin stefanrotaru Data 18 ianuarie 2025 14:29:36
Problema Hashuri Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.1 kb
#include <fstream>
#include <vector>
#define MOD 11

using namespace std;

ifstream f("hashuri.in");
ofstream g("hashuri.out");

int n, op, x;

vector <int> hashMap[MOD];

inline void insertHash(int k)
{
    int key = k % MOD;

    for (auto it : hashMap[key]) {
        if (it == k) {
            return;
        }
    }

    hashMap[key].push_back(k);
}

inline void eraseHash(int k)
{
    int key = k % MOD;

    for (int i = 0; i < (int) hashMap[key].size(); ++i) {
        if (hashMap[key][i] == k) {
            hashMap[key].erase(hashMap[key].begin() + i);
            return;
        }
    }
}

inline bool searchHash(int k)
{
    int key = k % MOD;

    for (auto it : hashMap[key]) {
        if (it == k) {
            return 1;
        }
    }

    return 0;
}

int main()
{
    f >> n;

    while (n--) {
        f >> op >> x;

        if (op == 1) {
            insertHash(x);
        }
        else if (op == 2) {
            eraseHash(x);
        }
        else {
            g << searchHash(x) << '\n';
        }
    }

    return 0;
}