Pagini recente » Cod sursa (job #1062880) | Cod sursa (job #1902676) | Cod sursa (job #666875) | Cod sursa (job #2274352) | Cod sursa (job #616537)
Cod sursa(job #616537)
#include<stdio.h>
#include<stdlib.h>
#define PRIM 999979
long i, j, n, LgVec[PRIM + 1], x[PRIM + 1], y[PRIM + 1], ok;
long * vec[PRIM + 1];
int main()
{
freopen("hashuri.in", "rt", stdin);
freopen("hashuri.out", "wt", stdout);
scanf("%ld", &n);
for(i = 1; i <= n; i++)
{
scanf("%ld %ld", &x[i], &y[i]);
if(x[i] == 1)
LgVec[y[i] % PRIM]++;
}
for(i = 0; i < PRIM; i++)
if(LgVec[i] != 0)
{
vec[i] = (long*) malloc(LgVec[i] * sizeof(long));
LgVec[i] = 0;
}
for(i = 1; i <= n; i++)
{
if(x[i] == 1)
{
vec[y[i] % PRIM][LgVec[y[i] % PRIM]] = y[i];
LgVec[y[i] % PRIM]++;
}
if(x[i] == 2)
{
for(j = 0; j < LgVec[y[i] % PRIM]; j++)
if(vec[y[i] % PRIM][j] == y[i])
vec[y[i] % PRIM][j] = -1;
}
if(x[i] == 3)
{
ok = 1;
for(j = 0; j < LgVec[y[i] % PRIM] && ok == 1; j++)
if(vec[y[i] % PRIM][j] == y[i])
{
printf("1\n");
ok = 0;
}
if(ok == 1)
printf("0\n");
}
}
fclose(stdout);
return 0;
}