Pagini recente » Cod sursa (job #165584) | Cod sursa (job #2835924) | Cod sursa (job #340890) | Cod sursa (job #1657140) | Cod sursa (job #1549444)
#include <fstream>
using namespace std;
int h[1000010],v[3][1000010],i,op,n,k,x;
const int p=666013;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int gasit(int x)
{
int y=x%p,t,poz=0;
t=h[y];
while(t && !poz)
{
if(v[1][t]==x)poz=t;
else
t=v[2][t];
}
return poz;
}
void adaug(int x,int k)
{
int i,y;
if(gasit(x))return;
y=x%p;
v[1][++k]=x;
v[2][k]=h[y];
h[y]=k;
}
int sterg(int x)
{
int y=gasit(x);
if(y)
v[1][y]=-1;
}
int main()
{
f>>n;
for(i=1;i<=n;i++)
{
f>>op>>x;
switch(op)
{
case 1:adaug(x,k);break;
case 2:sterg(x);break;
case 3:g<<gasit(x)<<'\n';break;
}
}
return 0;
}