Cod sursa(job #2734346)

Utilizator LordNecrateBiowCuciureanu Dragos-Adrian LordNecrateBiow Data 31 martie 2021 18:50:36
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.05 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

#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;
    fin >> n;
    for (int i = 0; i < n; i++)
    {
        int x;
        int op;
        fin >> op;
        fin >> x;
        if (op == 1)
            add(x);
        else if (op == 2)
            sterge(x);
        else if (op == 3)
            fout << get(x) << "\n";
    }
}