Cod sursa(job #1771135)

Utilizator razvan242Zoltan Razvan-Daniel razvan242 Data 5 octombrie 2016 11:41:47
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

using vit = vector<int>::iterator;
using vi = vector<int>;

const int MOD = 666013;

int n;
vi f[MOD];

inline void insertValue(int x) {
    int node = x % MOD;
    if (find(f[node].begin(), f[node].end(), x) == f[node].end())
        f[node].push_back(x);
}

inline void eraseValue(int x) {
    int node = x % MOD;
    vit pos = find(f[node].begin(), f[node].end(), x);
    if (pos != f[node].end())
        f[node].erase(pos);
}

int main()
{
    int op, x, node;
    fin >> n;
    for (; n; --n) {
        fin >> op >> x;
        node = x % MOD;
        switch (op) {
            case 1: insertValue(x); break;
            case 2: eraseValue(x); break;
            case 3: fout << (find(f[node].begin(), f[node].end(), x) != f[node].end()) << '\n'; break;
        }
    }
    return 0;
}