Cod sursa(job #2434356)

Utilizator Ionut28Porumb Palincas Ionut Ionut28 Data 1 iulie 2019 16:15:54
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
const int p = 666013;
vector < int > h[p + 5];


void adauga(int x)
{
    int r = x % p;
    h[r].push_back(x);
}
int cauta(int x)
{
    int r = x % p;
    for(int i = 0; i < h[r].size(); i++)
        if(h[r][i] == x)
            return i;
    return -1;
}
void stergere(int x)
{
    int r = x % p;
    int n = h[r].size();
    int poz = cauta(x);
    if(poz != -1)
    {
        swap(h[r][poz], h[r][n - 1]);
        h[r].pop_back();
    }
}
int nr, a, b;
int main()
{
    fin >> nr;
    for(int i = 1; i <= nr; ++i)
    {
        fin >> a >> b;
        if(a == 1)
        {
            if(cauta(b) == -1)
                adauga(b);
        }
        else if(a == 2)
            stergere(b);
        else
        {
            if(cauta(b) == -1)
                fout << 0 << "\n";
            else
                fout << 1 << "\n";
        }
    }
    return 0;
}