Cod sursa(job #2128071)

Utilizator DanizisSpartanulDani Mocanu DanizisSpartanul Data 11 februarie 2018 13:46:56
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <bits/stdc++.h>

using namespace std;

constexpr int MOD=666013;

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

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

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

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

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

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

    return 0;
}