Pagini recente » Cod sursa (job #15591) | Cod sursa (job #1560701) | Cod sursa (job #2829424) | Cod sursa (job #1209482) | Cod sursa (job #1809262)
#include <iostream>
#include <fstream>
using namespace std;
int lst[666019], val[1000000], urm[1000000] , nr, k = 666019;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
bool exista(int x)
{
int r = x % k, p;
p = lst[r];
while(p != 0)
{
if(val[p] == x)
return true;
p = urm[p];
}
return false;
}
void adauga(int x)
{
int r = x % k;
nr++;
val[nr] = x;
urm[nr] = lst[r];
lst[r] = nr;
}
void sterge(int x)
{
int r = x % k, p;
p = lst[r];
if(val[p] == x)
{
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 , x , y ,z;
f >> n;
for(i = 1; i <= n ; i++)
{
f >> x >> y;
if(x == 1)
adauga(y);
if(x == 2)
sterge(y);
if(x == 3)
{
if(exista(y))
g << 1 << '\n';
else
g << 0 << '\n';
}
}
}