Cod sursa(job #1676021)

Utilizator GinguIonutGinguIonut GinguIonut Data 5 aprilie 2016 18:08:01
Problema Hashuri Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 1.16 kb
#include <fstream>
#include <vector>

#define nMax 1000005
#define MOD 666013
#define pb push_back
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
int n;
vector<int> Hash[MOD];
int search_value(int val)
{
    int list=val%MOD;
    vector<int>::iterator it;

    for(it=Hash[list].begin();it!=Hash[list].end();it++)
    {
        if(*it==val)
            return 1;
    }

    Hash[list].pb(val);
    return 0;
}
void erase_value(int val)
{
    int list=val%MOD;
    vector<int>::iterator it;

    for(it=Hash[list].begin();it!=Hash[list].end();it++)
    {
        if(*it==val)
        {
            Hash[list].erase(it);
            return;
        }
    }
}
void solve()
{
    int op, a;

    for(int i=1;i<=n;i++)
    {
        fin>>op>>a;

        if(op==1)
        {
            search_value(a);
            continue;
        }

        if(op==2)
        {
            erase_value(a);
            continue;
        }

        if(op==3)
        {
            fout<<search_value(a)<<'\n';
            continue;
        }
    }
}
int main()
{
    fin>>n;
    solve();
    return 0;
}