Pagini recente » Cod sursa (job #2881011) | Cod sursa (job #1445107) | Cod sursa (job #588679) | Cod sursa (job #2519473) | Cod sursa (job #2617520)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
#define hash_linii 500000
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();
int sem=0;
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;
}