Pagini recente » Cod sursa (job #486630) | Cod sursa (job #2106361) | Cod sursa (job #1033655) | Cod sursa (job #2135122) | Cod sursa (job #2465601)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
const int MOD = 666013;
int n;
vector <int> resturi[MOD];
vector<int>::iterator Find(int val)
{
int poz = val%MOD;
vector<int>::iterator it;
for (it = resturi[poz].begin(); it != resturi[poz].end(); it++)
{
if (*it == val)
{
return it;
}
}
return resturi[poz].end();
}
void Adauga(int val)
{
int poz = val%MOD;
vector<int>::iterator it = Find(val);
if (it == resturi[poz].end())
{
resturi[poz].push_back(val);
}
}
void Sterge(int val)
{
int poz = val%MOD;
vector<int>::iterator it = Find(val);
if (it != resturi[poz].end())
{
resturi[poz].erase(it);
}
}
int main()
{
in >> n;
int x,op;
while (n)
{
in >> op >> x;
if (op == 1)
{
Adauga(x);
}
else if (op == 2)
{
Sterge(x);
}
else
{
out << (Find(x) != resturi[x%MOD].end()) << "\n";
}
n--;
}
return 0;
}