Cod sursa(job #1951416)

Utilizator radu.leonardoThe Doctor radu.leonardo Data 3 aprilie 2017 16:39:15
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include <bits/stdc++.h>
#define MOD 666013
using namespace std;
vector <int> Hash[MOD];
int n;

int query(int x)
{
    auto it=find(Hash[x%MOD].begin(), Hash[x%MOD].end(),x);
    if (it != Hash[x%MOD].end()) return 1;
    return 0;
}

void addNumber(int x)
{
    if(query(x)==0) Hash[x%MOD].push_back(x);
}

void removeNumber(int x)
{
    auto it=find(Hash[x%MOD].begin(), Hash[x%MOD].end(),x);
    if (it != Hash[x%MOD].end()) Hash[x%MOD].erase(it);
}

ifstream f("hashuri.in");
ofstream g("hashuri.out");

int main()
{
    f>>n;
    for(int i=1;i<=n;i++)
    {
        int t,x;
        f>>t>>x;
        switch(t)
        {
            case 1:
                addNumber(x);
                break;
            case 2:
                removeNumber(x);
                break;
            case 3:
                g<<query(x)<<'\n';
                break;
        }
    }
}