Cod sursa(job #2617539)

Utilizator UtilizatorGBGeorge Bodea UtilizatorGB Data 21 mai 2020 22:15:48
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.15 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
#define hash_linii 700000

vector<int> tabela_hash[hash_linii];

bool este_in_hash(int x) {
    int cheie = x%hash_linii;
    auto it=tabela_hash[cheie].begin();
    while(it!=tabela_hash[cheie].end()) {
        if(*it==x)
            return 1;
        it++;
        }
    return 0;
}

int main() {
    int n, aux, cheie, opt;
    int ok;
    f>>n;
    for(int i=0;i<n;i++){
        f>>opt;
        f>>aux;
        cheie=aux%hash_linii;
        if(opt==1){
            if (este_in_hash(aux)==0)
            tabela_hash[cheie].push_back(aux);
        }
        else if(opt==2){
            int sem=0;
                auto it=tabela_hash[cheie].begin();
                while(it!=tabela_hash[cheie].end() && sem==0) {
                    if(*it==aux) {
                        tabela_hash[cheie].erase(it);
                        sem=1;
                    }
                    it++;
                }
        }
        else if(opt==3){
            g<<este_in_hash(aux);
            g<<'\n';
        }
}
    f.close();
    g.close();
    return 0;
}