Cod sursa(job #2832151)

Utilizator robertanechita1Roberta Nechita robertanechita1 Data 12 ianuarie 2022 23:02:22
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.92 kb
#include <bits/stdc++.h>
#define P 123457

using namespace std;

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

int x, op, n;
vector<int>h[123505];
int Find(int x)
{
    int r = x % P;
    int L = h[r].size();
    for(int i = 0; i < L; i++)
        if(h[r][i] == x)
            return 1;
    return 0;
}


void Add(int x)
{
    int r = x % P;
    if(Find(x) == 0)
        h[r].push_back(x);
}


void Erase(int x)
{
    int r = x % P;
    int L = h[r].size();
    for(int i = 0; i < L; i++)
        if(h[r][i] == x)
        {
            h[r][i] = h[r][L-1];
            h[r].pop_back();
            return;
        }
}


int main()
{
    fin >> n;
    for(int i = 1; i <= n; i++)
    {
        fin >> op >> x;
        if(op == 1)
            Add(x);
        else if(op == 2)
            Erase(x);
        else
            fout << Find(x) << "\n";
    }
    return 0;
}