Cod sursa(job #3002764)

Utilizator tomaionutIDorando tomaionut Data 15 martie 2023 09:39:54
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.96 kb
#include <bits/stdc++.h>
#define p 123457

using namespace std;

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

int n, op, q;
vector <int> a[p + 5];

void Add(int x)
{
    int r = x % p;
    for (int i = 0; i < a[r].size(); i++)
        if (a[r][i] == x)
        return;
    a[r].push_back(x);
}

void Delete(int x)
{
    int r = x % p;
    for (int i = 0; i < a[r].size(); i++)
        if (a[r][i] == x)
        {
            a[r][i] = a[r][a[r].size() - 1];
            a[r].pop_back();
            return;
        }
}

int Find(int x)
{
    int r = x % p;
    for (int i = 0; i < a[r].size(); i++)
        if (a[r][i] == x)
        return 1;
    return 0;
}

int main()
{
    int i, x;
    fin >> q;
    while (q--)
    {
        fin >> op >> x;
        if (op == 1)
            Add(x);
        else if (op == 2)
            Delete(x);
        else
            fout << Find(x) << "\n";
    }


    return 0;
}