Cod sursa(job #2740984)

Utilizator ChelaruPaulChelaru Paul ChelaruPaul Data 15 aprilie 2021 00:15:53
Problema Hashuri Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.11 kb
#include <iostream>
#include <fstream>
#include <set>
#include <vector>

using namespace std;

ifstream fin("fo.txt");
ofstream fout("fout.txt");

int nrOperatii, operatie, mod = 666013;
vector<int> myHash[666013];

int insert(int element, int key) {
    for (int i : myHash[key])
        if (i == element)
            return 0;

    myHash[key].push_back(element);
}

int pop(int element, int key) {
    for (int i = 0; i < myHash[key].size(); i++)
        if (myHash[key][i] == element)
            myHash[key].erase(myHash[key].begin() + i);
}

int find(int element, int key) {
    for (int i : myHash[key])
        if (i == element) return 1;

    return 0;
}

int main() {
    int key, element;

    fin >> nrOperatii;

    for (int i = 0; i < nrOperatii; i++) {
        fin >> operatie >> element;
        key = element % mod;

        switch (operatie) {
            case 1:
                insert(element, key);
                break;
            case 2:
                pop(element, key);
                break;
            case 3:
                fout << find(element, key) << endl;
                break;
        }
    }
}