Cod sursa(job #1460107)

Utilizator retrogradLucian Bicsi retrograd Data 11 iulie 2015 16:32:39
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <bits/stdc++.h>

using namespace std;

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

#define P 100003
vector<int> B[P];

void insert(int val) {
    vector<int> &V = B[val % P];
    auto it = lower_bound(V.begin(), V.end(), val);
    if(it == V.end() || *it != val) V.insert(it, val);
}

void erase(int val) {
    vector<int> &V = B[val % P];
    auto it = lower_bound(V.begin(), V.end(), val);
    if(it != V.end() && *it == val) V.erase(it);
}

bool fnd(int val) {
    vector<int> &V = B[val % P];
    auto it = lower_bound(V.begin(), V.end(), val);
    return (it != V.end() && *it == val);
}


int main() {
    int n, t, a;
    fin>>n;
    while(n--) {
        fin>>t>>a;
        switch(t) {
            case 1: insert(a); break;
            case 2: erase(a); break;
            case 3: fout<<fnd(a)<<'\n'; break;
        }
    }
    return 0;
}