Pagini recente » Cod sursa (job #1886032) | Cod sursa (job #2398902) | Cod sursa (job #1604882) | Cod sursa (job #458264) | Cod sursa (job #1047296)
#include <vector>
#include <fstream>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
#define prime 666013
vector<int>H[prime];
int cauta(int val)
{
int rest=val%prime;
int s=H[rest].size(),i;
for (i=0;i<s;i++)
if (H[rest][i]==val)
return i;
return -1;
}
int este(int val)
{
if (cauta(val)==-1)
fout<<0;
else
fout<<1;
fout<<"\n";
}
void inserare(int val)
{
int rest=val%prime;
if (cauta(val)>=0)
return;
H[rest].push_back(val);
}
void stergere(int val)
{
int rest=val%prime;
int cine=cauta(val);
if (cine==-1)
return;
H[rest][cine]=H[rest].back();
H[rest].pop_back();
}
int main()
{
int i,x,n,op;
fin>>n;
for (i=1;i<=n;i++)
{
fin>>op>>x;
if (op==1)
inserare(x);
if (op==2)
stergere(x);
if (op==3)
este(x);
}
fin.close();
fout.close();
return 0;
}