Cod sursa(job #1478829)

Utilizator alittlezzCazaciuc Valentin alittlezz Data 29 august 2015 17:10:12
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.14 kb
#include <stdio.h>
#include <vector>

using namespace std;

const int m = 666013;

vector <int> v[m];

vector <int>::iterator find_value(int x){
    int list = x%m;
    vector <int>::iterator it;
    for(it = v[list].begin();it != v[list].end();it++){
        if(*it == x){
            return it;
        }
    }
    return v[list].end();
}

void insert_value(int x){
    int list = x%m;
    if(find_value(x) == v[list].end()){
        v[list].push_back(x);
    }
}

void erase_value(int x){
    int list = x%m;
    vector <int>::iterator it = find_value(x);
    if(it != v[list].end()){
        v[list].erase(it);
    }
}

int main()
{
    freopen("hashuri.in", "r", stdin);
    freopen("hashuri.out", "w", stdout);
    int n,i,op,nr;
    scanf("%d",&n);
    for(i = 1;i <= n;i++){
        scanf("%d %d",&op,&nr);
        if(op == 1){
            insert_value(nr);
        }else if(op == 2){
            erase_value(nr);
        }else{
            if(find_value(nr) != v[nr%m].end()){
                printf("1\n");
            }else{
                printf("0\n");
            }
        }
    }
    return 0;
}