Cod sursa(job #1887208)

Utilizator mateigabriel99Matei Gabriel mateigabriel99 Data 21 februarie 2017 13:54:48
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <bits/stdc++.h>

#define MOD 666013

using namespace std;

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

int N;
vector<int> H[MOD];

vector<int>::iterator Find(int x)
{
    for(vector<int>::iterator it=H[x%MOD].begin();it!=H[x%MOD].end();it++)
        if(*it==x)
            return it;
    return H[x%MOD].end();
}

void Insert(int x)
{
    if(Find(x)==H[x%MOD].end())
        H[x%MOD].push_back(x);
}

void Erase(int x)
{
    vector<int>::iterator it=Find(x);
    if(it!=H[x%MOD].end())
        H[x%MOD].erase(it);
}

int main()
{
    fin>>N;
    while(N--)
    {
        int op,x;
        fin>>op>>x;
        if(op==1)
            Insert(x);
        if(op==2)
            Erase(x);
        if(op==3)
           Find(x)!=H[x%MOD].end() ? fout<<"1\n" : fout<<"0\n";
    }

    return 0;
}