Pagini recente » Cod sursa (job #67822) | Cod sursa (job #2617587)
#include <bits/stdc++.h>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
const int NR_LINII = 700000;
vector <int> hash_table[NR_LINII];
int in_hash(int x);
int main(){
int n;
f >> n;
int key;
int operatie;
for( int i = 0; i < n; ++i ){
f >> operatie >> key;
if( operatie == 1)
if( in_hash(key) == 0)
hash_table[key%NR_LINII].push_back(key);
if( operatie == 2){
int aux = 0;
vector <int> :: iterator it;
it = hash_table[key%NR_LINII].begin();
while(it != hash_table[key%NR_LINII].end() && aux == 0){
if( *it == key ){
hash_table[key%NR_LINII].erase(it);
aux = 1;
}
++it;
}
}
if( operatie == 3){
g << in_hash(key) << "\n";
}
}
}
int in_hash(int x){
int key = x % NR_LINII;
for (auto it = hash_table[key].begin(); it != hash_table[key].end(); ++it )
if( *it == x )
return 1;
return 0;
}