Cod sursa(job #629977)

Utilizator radu_cppRadu Voroneanu radu_cpp Data 4 noiembrie 2011 13:28:03
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <cstdio>
#include <vector>
#define Mod 666013

using namespace std;

vector <int> H[Mod];
vector <int> :: iterator it;
int i, n, op, x, ind;

vector <int> :: iterator find_v(int x){

    for(it= H[ind].begin(); it!=H[ind].end(); it++)
        if (*it==x) return it;
    return it;
}

void insert_v(int x){

    if (it == H[ind].end()) H[ind].push_back(x);
}

void erase_v(int x){

    if (it!=H[ind].end()) H[ind].erase(it);
}

void write_v (int x){

    if(it==H[ind].end()) printf("0\n"); else printf("1\n");
}

int main(){
    freopen ("hashuri.in","r", stdin);
    freopen("hashuri.out","w", stdout);

    scanf("%d\n", &n);

    for (int i=1; i<=n; i++){

        scanf("%d %d\n", &op, &x);

        ind = x % Mod;
        it = find_v(x);

        if(op==1) insert_v(x);
        if(op==2) erase_v(x);
        if(op==3) write_v(x);
    }

return 0;
}