Cod sursa(job #2411523)

Utilizator LuscanAlexLuscan Alexandru LuscanAlex Data 20 aprilie 2019 20:31:26
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.07 kb
#include <fstream>
#include <vector>
using namespace std;

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

void read();
void inset(int x);
void eras(int x);
bool check(int x);

const int mod = 66013;

vector <int> v[mod];

int n, f, x;

int main()
{
    read();
}

void read()
{
    int i;

    fin >> n;

    for (i = 1; i <= n; ++i)
    {
        fin >> f >> x;

        if (f == 1)
            inset(x);
        else if (f == 2)
                eras(x);
        else
            fout << check(x) << '\n';
    }
}

void inset(int x)
{
    int i;

    i = x % mod;

    if (!check(x))
        v[i].push_back(x);
}

void eras(int x)
{
   int i;

   i = x % mod;

   if (check(x))
       for (auto it = v[i].begin(); it != v[i].end(); ++it)
            if (*it == x)
            {
                v[i].erase(it);
                break;
            }
}

bool check(int x)
{
    int i = x % mod;

    for (int j = 0; j < v[i].size(); ++j)
        if (v[i][j] == x)
            return true;

    return false;
}