Cod sursa(job #1774534)

Utilizator elffikkVasile Ermicioi elffikk Data 9 octombrie 2016 01:22:57
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <set>
#include <vector>
using namespace std;

const int hsize = 45000;
vector < set<unsigned int>  > h(hsize);

void remove(unsigned int x) {
    int i = x / hsize;
    if(h[i].find(x)!=h[i].end()) {
        h[i].erase(h[i].find(x));
    }
}

void put(unsigned int x) {
    int i = x / hsize;
    h[i].insert(x);
}

bool get(unsigned int x) {
    int i = x / hsize;
    return h[i].find(x) != h[i].end();
}

int main() {
    ifstream cin("hashuri.in");
    ofstream cout("hashuri.out");
    unsigned int n, op, x;
    cin>>n;
    for (int i = 0; i < n; i++) {
        cin>>op>>x;
        if (op == 1) {
            put(x);
        } else if (op == 2) {
            remove(x);
        } else {
            cout<<get(x)<<"\n";
        }
    }
}