Cod sursa(job #1873763)

Utilizator aaron72Armand Ioan Anusca Popa aaron72 Data 9 februarie 2017 13:20:16
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <bits/stdc++.h>
#define MOD 666013

using namespace std;

vector <int> h[MOD];
int n;

void add_value(int val);
void erase_value(int val);
bool find_value(int val);

int main()
{
    int op,x;
    ifstream fin("hashuri.in");
    ofstream fout("hashuri.out");
    fin>>n;
    for(int i=0;i<n;i++){
        fin>>op>>x;
        if(op==1) add_value(x);
        else if(op==2) erase_value(x);
        else fout<<find_value(x)<<'\n';
    }
    fin.close();
    fout.close();
    return 0;
}

void add_value(int val){
    int poz=val%MOD;
    if(!find_value(val))
        h[poz].push_back(val);
}

void erase_value(int val){
    int poz=val%MOD;
    if(find_value(val))
        h[poz].clear();
}

bool find_value(int val){
    int poz=val%MOD;
    for(auto it: h[poz])
        if(it==val) return true;
    return false;
}