Pagini recente » Istoria paginii runda/baraj_liceu_2014-2019 | Cod sursa (job #131491) | Monitorul de evaluare | Cod sursa (job #2013409) | Cod sursa (job #529064)
Cod sursa(job #529064)
#include <vector>
#include <fstream>
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
vector<int> H[666013];
vector<int>::iterator it;
int n,i,j,op,val;
int hash_func(int val)
{
return val%666013;
}
int main()
{
in>>n;
for(i=1; i<=n; i++)
{
in>>op>>val;
if(op == 1)
{
if(H[hash_func(val)].empty())
{H[hash_func(val)].push_back(val);continue;}
it = H[hash_func(val)].begin();
while(it != H[hash_func(val)].end() && *it != val)
it++;
if(it == H[hash_func(val)].end())
H[hash_func(val)].push_back(val);
}
else if(op == 2)
{
if(H[hash_func(val)].empty())
continue;
it = H[hash_func(val)].begin();
while(it != H[hash_func(val)].end() && *it != val)
it++;
if(it != H[hash_func(val)].end())
H[hash_func(val)].erase(it);
}
else if(op == 3)
{
if(H[hash_func(val)].empty())
{out<<"0\n";continue;}
it = H[hash_func(val)].begin();
while(it != H[hash_func(val)].end() && *it != val)
it++;
out <<(it != H[hash_func(val)].end())<<'\n';
}
}
return 0;
}