Cod sursa(job #1365877)

Utilizator CosminRusuCosmin Rusu CosminRusu Data 28 februarie 2015 16:21:16
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.98 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

const int mod = 666013;

vector <int> g[mod];
int n, m;

inline bool _find(int value) {
    int key = value % mod;
    for(vector <int> :: iterator it = g[key].begin() ; it != g[key].end() ; ++ it)
        if(*it == value)
            return 1;
    return 0;
}

inline void _erase(int value) {
    int key = value % mod;
    for(vector <int> :: iterator it = g[key].begin() ; it != g[key].end() ; ++ it)
        if(*it == value) {
            g[key].erase(it);
            return ;
        }
}

inline void _insert(int value) {
    int key = value % mod;
    if(!_find(value))
        g[key].push_back(value);
}

int main() {
    ifstream fin("hashuri.in");
    ofstream fout("hashuri.out");
    fin >> m;
    for(int i = 1 ; i <= m ; ++ i) {
        int op, x;
        fin >> op >> x;
        if(op == 1)         _insert(x);
        else if(op == 2)    _erase(x);
        else if(op == 3)    fout << _find(x) << "\n";
    }
}