Cod sursa(job #3039965)

Utilizator OrzaSERBANSerban Orza OrzaSERBAN Data 29 martie 2023 09:32:03
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.88 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");

int n,m,nr;
int p;
struct hashh
{
    vector<int>a;
}h[666025];
int esteDeja(int val)
{
    int k=val%p;
    int i,z=h[k].a.size();
    for(i=0;i<z;i++)
        if(h[k].a[i]==val)
        return 1;
    return 0;
}
void hashAdd(int val)
{
    if(esteDeja(val)==0)
        h[val%p].a.push_back(val);
}
void sterge(int val)
{
    int k=val%p;
    int i,z=h[k].a.size();
    for(i=0;i<z;i++)
        if(h[k].a[i]==val)
    {
        h[k].a.erase(h[k].a.begin()+i);
        return;
    }
}
int main()
{
    int t,i,j,k,x;
    f>>n;
    p=666019;
    for(i=1;i<=n;i++)
    {
        f>>k>>x;
        if(k==1)
        hashAdd(x);
        else
            if(k==2)
            sterge(x);
        else
            g<<esteDeja(x)<<'\n';
    }
    return 0;
}