Pagini recente » Cod sursa (job #2638297) | Cod sursa (job #1024156) | Cod sursa (job #12793) | Cod sursa (job #468404) | Cod sursa (job #2658810)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
const int N = 1000000;
const int MOD = 666013;
int v[N];
vector <long long> myHash[MOD];
void adauga( long long x ){
int cod = x % MOD;
int i;
i = 0;
while( i < myHash[cod].size() && myHash[cod][i] != x )
i++;
if( i == myHash[cod].size() )
myHash[cod].push_back(x);
}
void sterge( long long x ){
int cod = x % MOD;
int i;
i = 0;
while( i < myHash[cod].size() && myHash[cod][i] != x )
i++;
if( i < myHash[cod].size() )
myHash[cod].erase( myHash[cod].begin() + i );
}
bool cauta( long long x ){
int cod = x % MOD;
int i;
i = 0;
while( i < myHash[cod].size() && myHash[cod][i] != x )
i++;
return i < myHash[cod].size();
}
int main()
{
int n, o, i;
in>>n;
for( i = 0; i < n; i++ ){
in>>o>>v[i];
if( o == 1 )
adauga(v[i]);
if( o == 2 )
sterge(v[i]);
if( o == 3 )
out<<cauta(v[i])<<'\n';
}
return 0;
}