Cod sursa(job #2734345)

Utilizator LordNecrateBiowCuciureanu Dragos-Adrian LordNecrateBiow Data 31 martie 2021 18:49:30
Problema Hashuri Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.97 kb
#include <iostream>
#include <vector>

using namespace std;

#define prime 666013

vector <int> has[prime];

int getHashValue(int x) {
    return(x % 666013);
}


void add(int x) {
    int val = getHashValue(x);
    has[val].push_back(x);

}

void sterge(int x) {
    int val = getHashValue(x);
    for (int i = 0; i < has[val].size(); i++)
        if (has[val][i] == x)
        {
            has[val].erase(has[val].begin() + i);
            break;
        }

}

bool get(int x) {
    int val = getHashValue(x);
    for (int i = 0; i < has[val].size(); i++)
        if (has[val][i] == x)
            return true;
    return false;
}


int main()
{
    int n;
    cin>> n;
    for (int i = 0; i < n; i++)
    {
        int x;
        int op;
        cin >> op;
        cin >> x;
        if (op == 1)
            add(x);
        else if (op == 2)
            sterge(x);
        else if (op == 3)
            cout << get(x) << "\n";
    }
}