Cod sursa(job #3277601)

Utilizator tudorhTudor Horobeanu tudorh Data 16 februarie 2025 20:36:19
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.9 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
int p=666013;
vector<int> Hash[666013];
vector<int>::iterator hashfind(int n)
{
    int key=n%p;
    for(vector<int>::iterator it=Hash[key].begin();it!=Hash[key].end();it++)
        if(*it==n)
            return it;
    return Hash[key].end();
}
void hashinsert(int n)
{
    int key=n%p;
    if(hashfind(n)==Hash[key].end())
        Hash[key].push_back(n);
}
void hashdelete(int n)
{
    int key=n%p;
    vector<int>::iterator it=hashfind(n);
    if(it!=Hash[key].end())
        Hash[key].erase(it);
}
int main()
{


    int n,t,x;
    fin>>n;
    for(int i=0;i<n;i++)
    {
        fin>>t>>x;
        if(t==1)
            hashinsert(x);
        else if(t==2)
            hashdelete(x);
        else fout<<(hashfind(x)!=Hash[x%p].end())<<'\n';
    }

    return 0;
}