Cod sursa(job #2948355)

Utilizator Ion.AAlexandru Ion Ion.A Data 27 noiembrie 2022 17:03:17
Problema Hashuri Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.17 kb
#include <fstream>
#include <vector>

using namespace std;

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

const int mod = 9923;
vector <int> h[mod];

void addel(int x)
{
    int poz = x % mod;
    h[poz].push_back(x);
}

void ersel(int x)
{
    int poz = x % mod;
    for (int i = 0; i < (int)h[poz].size(); i++)
    {
        if (h[poz][i] == x)
        {
            int n = h[poz].size();
            swap(h[poz][i], h[poz][n]);
            h[poz].pop_back();
            return;
        }
    }
}

bool query(int x)
{
    int poz = x % mod;
    for (int i = 0; i < (int)h[poz].size(); i++)
    {
        if (h[poz][i] == x)
        {
            return true;
        }
    }
    return false;
}

int main()
{
    int n;
    in >> n;
    for (int i = 1; i <= n; i++)
    {
        int op, el;
        in >> op >> el;
        if (op == 1)
        {
            if (query(el) == false)
            {
                addel(el);
            }
        }
        if (op == 2)
        {
            ersel(el);
        }
        if (op == 3)
        {
            out << query(el) << "\n";
        }
    }
    return 0;
}