Pagini recente » Istoria paginii runda/temajunioriichb | Cod sursa (job #282481) | Cod sursa (job #2625901) | Cod sursa (job #1460957) | Cod sursa (job #1042346)
#include <stdio.h>
#include <vector>
using namespace std;
#define NR 666013
int n;
vector<int> H[NR];
vector<int>::iterator cauta_valoare(int a)
{
int lista = a % NR;
vector<int>::iterator i;
for (i = H[lista].begin(); i != H[lista].end(); ++i)
if (*i == a)
return i;
return H[lista].end();
}
void inserare_valoare(int a)
{
int lista = a % NR;
if (cauta_valoare(a) == H[lista].end())
H[lista].push_back(a);
}
void stergere_valoare(int a)
{
int lista = a % NR;
vector<int>::iterator i = cauta_valoare(a);
if (i != H[lista].end())
H[lista].erase(i);
}
int main()
{
int op, a;
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
for (scanf("%d", &n); n; --n)
{
scanf("%d %d", &op, &a);
if (op == 1)
{
inserare_valoare(a);
continue;
}
if (op == 2)
{
stergere_valoare(a);
continue;
}
printf("%d\n", cauta_valoare(a) != H[a % NR].end());
}
return 0;
}