Cod sursa(job #1983047)

Utilizator victoreVictor Popa victore Data 21 mai 2017 10:50:12
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.02 kb
#include<cstdio>
#include<vector>

using namespace std;

const int mod=666013;
vector<int> g[mod];

inline vector<int>::iterator find_num(int nr)
{
    vector<int>::iterator it;
    int x=nr%mod;
    for(it=g[x].begin();it!=g[x].end();++it)
        if(*it == nr)
            return it;
    return g[x].end();
}

inline void insert_num(int nr)
{
    int x=nr%mod;
    vector<int>::iterator it=find_num(nr);
    if(it!=g[x].end())
        return;
    g[x].push_back(nr);
}

inline void erase_num(int nr)
{
    int x=nr%mod;
    vector<int>::iterator it=find_num(nr);
    if(it==g[x].end())
        return;
    g[x].erase(it);
}

int main()
{
    freopen("hashuri.in","r",stdin);
    freopen("hashuri.out","w",stdout);
    int n,i,op,nr;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d%d",&op,&nr);
        if(op==1)
            insert_num(nr);
        else if(op==2)
            erase_num(nr);
        else
            printf("%d\n",find_num(nr)!=g[nr%mod].end());
    }
}