Cod sursa(job #2949546)

Utilizator TeodoraMaria123Serban Teodora Maria TeodoraMaria123 Data 30 noiembrie 2022 22:52:43
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.14 kb
#include <fstream>
#include <vector>

using namespace std;

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

#define pb push_back
#define MOD 1000003

vector <vector <int> > hashTable;

void insertElement(int x)
{
    for(const int &element : hashTable[x % MOD])
        if(x == element)
            return;
    hashTable[x % MOD]. pb(x);
}

void deleteElement(int x)
{
    vector <int> :: iterator it;
    for(it = hashTable[x % MOD].begin(); it != hashTable[x % MOD].end(); it ++)
        if(*it == x)
        {
            hashTable[x % MOD].erase(it);
            return;
        }
}

void isElementInSet(int x)
{
    for(const int &element : hashTable[x % MOD])
        if(x == element)
        {
            out << "1\n";
            return;
        }
    out << "0\n";
}
int main()
{
    int n;
    in >> n;
    hashTable.resize(MOD);

    for(int i = 0; i < n; i ++)
    {
        int cer, x;
        in >> cer >> x;
        if(cer == 1)
            insertElement(x);
        else if(cer == 2)
            deleteElement(x);
        else
            isElementInSet(x);
    }
    return 0;
}