Cod sursa(job #2340998)

Utilizator mjmilan11Mujdar Milan mjmilan11 Data 11 februarie 2019 14:54:48
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.03 kb
#include <bits/stdc++.h>

using namespace std;

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

const int MOD = 733333;
const int INF = (1<<29);

vector <int> Hash[MOD+5];

int Cautare(int x)
{
    int aux=x%MOD;
    for(int i=0;i<Hash[aux].size();i++)
    {
        if(Hash[aux][i]==x) return i;
    }
    return -INF;
}

void insert_x(int x)
{
    if(Cautare(x)==-INF)
    {
        int aux=x%MOD;
        Hash[aux].push_back(x);
    }
}

void erase_x(int x)
{
    int poz=Cautare(x);
    if(poz!=-INF)
    {
        int aux=x%MOD;
        Hash[aux].erase(Hash[aux].begin()+poz);
    }
}

int main()
{
    int n;
    fin >> n;
    int operatie,nr;
    for(int i=1;i<=n;i++)
    {
        fin >> operatie >> nr;
        if(operatie==1) insert_x(nr);
        else if(operatie==2) erase_x(nr);
        else if(operatie==3)
        {
            int rasp=Cautare(nr);
            if(rasp!=-INF) fout << "1" << '\n';
            else fout << "0" << '\n';
        }
    }
    return 0;
}