Cod sursa(job #2274881)

Utilizator LivcristiTerebes Liviu Livcristi Data 2 noiembrie 2018 17:02:45
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.06 kb
#include <bits/stdc++.h>
#include <unordered_map>
#define MOD 666013
using namespace std;
typedef vector<int>::iterator iter;
vector<int> tabel[MOD];
int n, op, val;
iter find_val(int num)
{
    int poz = num % MOD;
    for(iter it = tabel[poz].begin(); it != tabel[poz].end(); ++it)
        if(*it == num)
            return it;
    return tabel[poz].end();
}
void insert_val(int num)
{
    int poz = num % MOD;
    if(find_val(num) == tabel[poz].end())
        tabel[poz].push_back(num);
}
void delete_val(int num)
{
    int poz = num % MOD;
    iter it = find_val(num);
    if(it != tabel[poz].end())
        tabel[poz].erase(it);
}
int main()
{
    ifstream f("hashuri.in");
    ofstream g("hashuri.out");
    f >> n;
    for(int i = 0; i < n; ++i)
    {
        f >> op >> val;
        if(op == 1)
        {
            insert_val(val);
        }
        if(op == 2)
        {
            delete_val(val);
        }
        if(op == 3)
        {
            g << (find_val(val) != tabel[val % MOD].end()) << "\n";
        }
    }
}