Cod sursa(job #2436697)

Utilizator Rufus007Marincia Catalin Rufus007 Data 6 iulie 2019 18:31:21
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.3 kb
#include<fstream>
#include<vector>

std::ifstream fin("hashuri.in");
std::ofstream fout("hashuri.out");
const int MOD = 666013;

std::vector<int> lista[MOD];

inline std::vector<int>::iterator find_value(int x) {

    int list = x % MOD;
    std::vector<int>::iterator it;

    for (it = lista[list].begin(); it != lista[list].end(); ++it)
        if (*it == x)
            return it;
    return lista[list].end();
}

inline void insert_value(int x) {
    int list = x % MOD;
    if (find_value(x) == lista[list].end())
        lista[list].push_back(x);
}

inline void erase_value(int x) {
    int list = x % MOD;
    std::vector<int>::iterator it = find_value(x);
    if (it != lista[list].end())
        lista[list].erase(it);
}

inline void InsertValue(int x) {
    int list = x % MOD;


}

int main() {
    int numarOperatii, operatie, numar;
    fin >> numarOperatii;

    for (int i = 0; i < numarOperatii; ++i) {
        fin >> operatie >> numar;
        switch (operatie) {
            case 1:
                insert_value(numar);
                break;

            case 2:
                erase_value(numar);

                break;
            default:
                fout << (find_value(numar) != lista[numar % MOD].end())<<"\n";
                break;
        }
    }


    fin.close();
    fout.close();
    return 0;
}