Pagini recente » Cod sursa (job #2843987) | Cod sursa (job #1112232) | Cod sursa (job #3201639) | Cod sursa (job #2253091) | Cod sursa (job #2885677)
#include <fstream>
#include <vector>
#include <iostream>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
int nrteste, mod, operatie, clasa, nr, i;
bool gasit;
vector <int> hashh[666013];
int main()
{
fin >> nrteste;
mod = 666013;
while (nrteste--)
{
fin >> operatie >> nr;
clasa = nr % mod;
if (operatie == 1)
{
if (hashh[clasa].size() == 0)
hashh[clasa].push_back(nr);
else
{
gasit = 0;
for (i = 0; i < hashh[clasa].size(); i++)
if (hashh[clasa][i] == nr)
{
gasit = 1;
break;
}
if (!gasit)
hashh[clasa].push_back(nr);
}
}
if (operatie == 3)
{
gasit = 0;
if (hashh[clasa].size() != 0)
for (i = 0; i < hashh[clasa].size(); i++)
if (hashh[clasa][i] == nr)
{
gasit = 1;
fout << 1 << '\n';
break;
}
if (gasit == 0)
fout << 0 << '\n';
}
if (operatie == 2)
{
if (hashh[clasa].size() != 0)
for (auto i = hashh[clasa].begin(); i < hashh[clasa].end(); i++)
if (*i == nr)
{
hashh[clasa].erase(i);
break;
}
}
}
return 0;
}