Pagini recente » Cod sursa (job #2046634) | Cod sursa (job #2125942) | Cod sursa (job #223805) | Cod sursa (job #1971986) | Cod sursa (job #377919)
Cod sursa(job #377919)
#include<fstream.h>
int v[1300000][2],start[699050],p=699037,k;
int caut(int key)
{
int rest=key%p,t,pozitie;
t=start[rest];
pozitie=0;
while(t&&!pozitie)
{
if(v[t][0]==key)
pozitie=t;
else
t=v[t][1];
}
return pozitie;
}
void adaug(int key)
{
int rest=key%p,pozitie;
pozitie=caut(key);
if(!pozitie)
{
v[++k][0]=key;
v[k][1]=start[rest];
start[rest]=k;
}
}
void sterg(int key)
{
int pozitie;
pozitie=caut(key);
if(pozitie)
v[pozitie][0]=-key;
}
int main()
{
int i,n,op,x;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
f>>n;
for(i=1;i<=n;i++)
{
f>>op>>x;
if(op==1)
adaug(x);
else
if(op==2)
sterg(x);
else
if(caut(x))
g<<"1\n";
else
g<<"0\n";
}
return 0;
}