Pagini recente » Cod sursa (job #1944350) | Clasament cnitv_gimnaziu_1 | Cod sursa (job #2984280) | Cod sursa (job #2660652) | Cod sursa (job #2747059)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("hashuri.in");
ofstream fout("hashuri.out");
int n,k,x;
int p = 666013;
vector <int> Hash[666013];
int cautare(int x)
{
int h = x % p;
for(int i=0;i<Hash[h].size();i++)
if(Hash[h][i] == x)
return 1;
return 0;
}
void adaugare(int x)
{
int h = x % p;
if(cautare(x) == 0)
Hash[h].push_back(x);
}
void stergere(int x)
{
int h = x % p;
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(int 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;
}