Cod sursa(job #1753358)

Utilizator GinguIonutGinguIonut GinguIonut Data 6 septembrie 2016 13:31:46
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.13 kb
#include <fstream>
#include <vector>

#define MOD 666013
#define pb push_back

using namespace std;

ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

int n;
vector<int> G[MOD];

void insert_hash(int val)
{
    int list=val%MOD;

    for(vector<int>::iterator it=G[list].begin(); it!=G[list].end(); it++)
        if(*it==val)
            return;

    G[list].pb(val);
}

void erase_hash(int val)
{
    int list=val%MOD;

    for(vector<int>::iterator it=G[list].begin(); it!=G[list].end(); it++)
        if(*it==val)
        {
            G[list].erase(it);
            return;
        }
}

bool search_value(int val)
{
    int list=val%MOD;

    for(vector<int>::iterator it=G[list].begin(); it!=G[list].end(); it++)
        if(*it==val)
            return 1;

    return 0;
}

int main()
{
    int val, op;
    fin>>n;

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

        switch(op)
        {
            case 1: insert_hash(val); break;
            case 2: erase_hash(val); break;
            case 3: bool Sol=search_value(val); fout<<Sol<<'\n'; break;
        }
    }
}