Cod sursa(job #2674182)

Utilizator BalasaRaduBalasa Radu BalasaRadu Data 18 noiembrie 2020 18:53:28
Problema Hashuri Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <bits/stdc++.h>///tabele hash
using namespace std;
ifstream fin ("hashuri.in");
ofstream fout("hashuri.out");
#define MOD 70001
vector <int> v[70009];
bool cauta(int x)
{
    int y=x%MOD,n=v[y].size();
    for(int i=0;i<n;i++)
        if(v[y][i]==y)
            return 1;
    return 0;
}
void adauga (int x)
{
    if(!cauta(x))
        v[x%MOD].push_back(x);
}
void sterge(int x)
{
    int y=x%MOD,n=v[y].size();
    for(int i=0;i<n;i++)
        if(v[y][i]==y)
            v[y].erase(v[y].begin()+i),i=n;
}
int main()
{
    int n;
        fin>>n;
    for(int i=1;i<=n;i++)
    {
        int op,x;
        fin>>op>>x;
        if(op==1)
            adauga(x);
        else
            if(op==2)
                sterge(x);
            else
                fout<<cauta(x)<<'\n';
    }
}