Pagini recente » Cod sursa (job #1958524) | Cod sursa (job #3180183) | Cod sursa (job #1482922) | Cod sursa (job #1090307) | Cod sursa (job #2416951)
#include <bits/stdc++.h>
#define ERRORCODE -1
using namespace std;
ifstream fin ("hashuri.in");
ofstream fout ("hashuri.out");
const int MOD = 666013;
vector < int > Hash[MOD + 5];
int Q;
static inline void insertInteger (int integer);
static inline int searchInteger (int integer);
static inline void deleteInteger (int integer);
int main()
{
int operation, integer;
fin >> Q;
while (Q--)
{
fin >> operation >> integer;
if (operation == 1)
insertInteger (integer);
if (operation == 2)
deleteInteger (integer);
if (operation == 3)
if (searchInteger (integer) == ERRORCODE)
fout << 0 << "\n";
else
fout << 1 << "\n";
}
return 0;
}
static inline void insertInteger (int integer)
{
if (searchInteger (integer) == ERRORCODE)
{
int mod = integer % MOD;
Hash[mod].push_back (integer);
}
}
static inline void deleteInteger (int integer)
{
int position = searchInteger (integer);
if (position != ERRORCODE)
{
int mod = integer % MOD;
Hash[mod].erase (Hash[mod].begin () + position);
}
}
static inline int searchInteger (int integer)
{
int mod = integer % MOD;
for (int i = 0; i < Hash[mod].size (); ++i)
if (Hash[mod][i] == integer)
return i;
return ERRORCODE;
}