Cod sursa(job #2617521)

Utilizator UtilizatorGBGeorge Bodea UtilizatorGB Data 21 mai 2020 21:32:54
Problema Hashuri Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.11 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];

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

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 (poz_in_hash_in_lista(aux)==-1)
            tabela_hash[cheie].push_back(cheie);
        }
        else if(opt==2){
            if(poz_in_hash_in_lista(aux)!=-1){
                tabela_hash[cheie].erase(tabela_hash[cheie].begin()+(poz_in_hash_in_lista(aux)));
            }
        }
        else if(opt==3){
            ok=poz_in_hash_in_lista(aux);
            if(ok==-1)
                g<<0;
            else g<<1;
            g<<'\n';
        }
}
    f.close();
    g.close();
    return 0;
}