Pagini recente » Cod sursa (job #1250198) | Cod sursa (job #2493114) | Cod sursa (job #593252) | Cod sursa (job #1255714) | Cod sursa (job #2747056)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("hashuri.in");
ofstream fout("hashuri.out");
int n,k,x,h,i;
vector <int> Hash[666013];
int cautare(int x)
{
h = x % 666013;
for(i=0;i<Hash[h].size();i++)
if(Hash[h][i] == x)
return 1;
return 0;
}
void adaugare(int x)
{
h = x % 666013;
if(cautare(x) == 0)
Hash[h].push_back(x);
}
void stergere(int x)
{
h = x % 666013;
for(int i=0;i<Hash[h].size();i++)
if(Hash[h][i] == x)
{
Hash[h][i] = Hash[h][Hash[h].size()-1];
Hash[h].pop_back();
break;
}
}
int main()
{
fin>>n;
for(i=1;i<=n;i++)
{
fin>>k>>x;
if(k == 1)
adaugare(x);
else if(k == 2)
stergere(x);
else if(k == 3)
fout<<cautare(x)<<"\n";
}
fin.close();
fout.close();
return 0;
}