Pagini recente » Cod sursa (job #2574832) | Cod sursa (job #53724) | Cod sursa (job #1355850) | Cod sursa (job #3123442) | Cod sursa (job #1443561)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
int lst[666019],urm[1000001],val[1000001],nr;
const int M=666019;
void add(int x)
{
int r=x%M;
nr++;
val[nr]=x;
urm[nr]=lst[r];
lst[r]=nr;
}
bool caut(int x)
{
int p=lst[x%M];
while(p!=0)
{
if(val[p]==x)
return true;
p=urm[p];
}
return false;
}
void sterg(int x)
{
int r=x%M,p;
p=lst[r];
if(x==val[p])
{
lst[r]=urm[p];
return;
}
while(urm[p]!=0)
if(val[urm[p]]==x)
urm[p]=urm[urm[p]];
else
p=urm[p];
}
int main()
{
int n,i,a,b;
in>>n;
for(i=1;i<=n;i++)
{
in>>a>>b;
if(a==1)
add(b);
if(a==2)
sterg(b);
if(a==3)
if(caut(b)==true)
out<<"1 ";
else
out<<"0 ";
}
return 0;
}