Cod sursa(job #1197893)

Utilizator MaarcellKurt Godel Maarcell Data 14 iunie 2014 00:19:15
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include <stdio.h>
#include <vector>
#define prim 666013
using namespace std;

vector<int> table[prim];

void add(int x){
    int k=x % prim;
    bool toadd = true;
    for (int i=0; i<table[k].size(); i++)
        if (table[k][i]==x) {toadd=false; break;}
    if (toadd) table[k].push_back(x);
}
int find(int x){
    int k=x % prim;
    for (int i=0; i<table[k].size(); i++)
        if (table[k][i]==x) return true;

    return false;
}

void remove(int x){
    int k=x % prim;
    for (int i=0; i<table[k].size(); i++)
        if (table[k][i]==x) {table[k][i]=0; break;}
}
int n,op,x;
int main(){
    freopen("hashuri.in","r",stdin);
    freopen("hashuri.out","w",stdout);
    scanf("%d",&n);
    for (int i=0; i<n; i++){
        scanf("%d %d",&op,&x);
        if (op==1) add(x);
        else if (op==2) remove(x);
        else printf("%d\n",find(x));

    }


    return 0;
}