Pagini recente » Cod sursa (job #579052) | Cod sursa (job #2067172) | Cod sursa (job #2675599) | Cod sursa (job #1968516) | Cod sursa (job #1105793)
#include <cstdio>
#include <vector>
#define MOD 666013
using namespace std;
vector <int> ok[MOD + 5];
vector<int>::iterator find(int val)
{
int list = val % MOD;
for (vector<int>::iterator it = ok[list].begin(); it != ok[list].end(); ++it)
if (*it == val)
return it;
return ok[list].end();
}
void adaugare(int val)
{
vector<int>::iterator adress = find(val);
if (adress == ok[val % MOD].end())
ok[val % MOD].push_back(val);
}
void stergere(int val)
{
vector<int>::iterator adress = find(val);
if (adress != ok[val % MOD].end())
ok[val % MOD].erase(adress);
}
int main()
{
int n;
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
scanf("%d", &n);
while (n--)
{
int val, tip;
scanf("%d %d", &tip, &val);
if (tip == 1)
adaugare(val);
if (tip == 2)
stergere(val);
if (tip == 3)
printf("%d\n", (find(val) != ok[val % MOD].end()) ? 1 : 0);
}
return 0;
}