Cod sursa(job #3131429)

Utilizator AlezuuZugravu Alexandra-Daniela Alezuu Data 20 mai 2023 00:42:43
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.3 kb
#include <iostream>
#include <fstream>
#include <vector>

inline int calculeazaHash(int numar, int dim) {
    return numar % dim;
}

int main() {
    std::ifstream f("hashuri.in");
    std::ofstream g("hashuri.out");

    int nr_op, dim = 666013;
    f >> nr_op;

    std::vector<std::vector<int>> m(dim);

    while (nr_op--) {
        int op, el;
        f >> op >> el;

        int bucket = calculeazaHash(el, dim);
        bool gasit = false;

        if (op == 1) {
            for (int i = 0; i < m[bucket].size(); i++) {
                if (m[bucket][i] == el) {
                    gasit = true;
                    break;
                }
            }
            if (!gasit) {
                m[bucket].push_back(el);
            }
        } else if (op == 2) {
            for (int i = 0; i < m[bucket].size(); i++) {
                if (m[bucket][i] == el) {
                    m[bucket].erase(m[bucket].begin() + i);
                    break;
                }
            }
        } else if (op == 3) {
            for (int i = 0; i < m[bucket].size(); i++) {
                if (m[bucket][i] == el) {
                    gasit = true;
                    break;
                }
            }
            g << gasit << '\n';
        }
    }


    return 0;
}