Cod sursa(job #3260001)

Utilizator Barbu_MateiBarbu Matei Barbu_Matei Data 28 noiembrie 2024 19:56:10
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.12 kb
#include <bits/stdc++.h>
using namespace std;

const int MOD = 666013;
vector<int> hashMap[MOD];
int n;

void insertHash(int k) {
    int key = k % MOD;
    for (int i = 0; i < hashMap[key].size(); ++i) {
        if (hashMap[key][i] == k) {
            return;
        }
    }
    hashMap[key].push_back(k);
}

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

bool searchHash(int k) {
    int key = k % MOD;
    for (int i = 0; i < hashMap[key].size(); ++i) {
        if (hashMap[key][i] == k) {
            return true;
        }
    }
    return false;
}

int main() {
    ifstream cin("hashuri.in");
    ofstream cout("hashuri.out");
    cin >> n;
    for (int i = 1; i <= n; ++i) {
        int op, x;
        cin >> op >> x;
        if (op == 1) {
            insertHash(x);
        } else if (op == 2) {
            deleteHash(x);
        } else {
            cout << searchHash(x) << "\n";
        }
    }
}