Cod sursa(job #2303769)

Utilizator TeddyDinutaDinuta Eduard Stefan TeddyDinuta Data 16 decembrie 2018 20:58:54
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <bits/stdc++.h>

using namespace std;
const int MOD=9973;
vector<int> v[10100];
void insert(int n)
{
    int h=n%MOD;
    v[h].push_back(n);
}
void erase(int n)
{
    int h=n%MOD;
    int sz=v[h].size();
    for(int it=0;it<v[h].size();it++)
        if(v[h][it]==n)
    {
        v[h][it]=v[h][sz-1];
        v[h].pop_back();
    }
}
bool find(int n)
{
    int h=n%MOD;
    for(auto it:v[h])
        if(it==n) return 1;
    return 0;
}
int n,p,x;
int main()
{
    ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    freopen("hashuri.in","r",stdin);
    freopen("hashuri.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d%d",&p,&x);
        if(p==1) insert(x);
        if(p==2) erase(x);
        if(p==3) cout<<find(x)<<'\n';
    }
}