Pagini recente » Cod sursa (job #1665368) | Cod sursa (job #2185683) | Cod sursa (job #1615729) | Cod sursa (job #1860984) | Cod sursa (job #2609051)
#define fisier "hashuri"
#include <fstream>
std::ifstream in(fisier ".in");
std::ofstream out(fisier ".out");
// cine spune ca trebuie sa definesc functia hash cu un mod?
// daca o fac cu un div nu ar trebui sa obtin un efect similar?
// din cate am inteles nu ne intereseaza decat sa impartim numerele in grupe, prin proprietati comune care sunt usor de verificat
// ex: numerele cu proprietatea ca sunt congruente cu 15, mod 666013 sa fie in grupa lor, etc
// le voi impartii in x grupe, fiecare grupa i va reprezenta numerele cu proprietatea ca n/DIV == i.
const int
VAL = 2000000000,
N = 1000000,
DIV = 1000,
GRUPE = VAL / DIV + 1;
#include <vector>
std::vector<int> grupe[GRUPE];
#include <algorithm>
int main()
{
int n; in >> n;
while (n--)
{
int op, x; in >> op >> x;
std::vector<int>& grupa = grupe[x / DIV];
std::vector<int>::iterator poz_x = std::find(grupa.begin(), grupa.end(), x);
bool exista = poz_x != grupa.end();
switch (op)
{
case 1:
if (!exista)
grupa.push_back(x);
break;
case 2:
if (exista)
grupa.erase(poz_x);
break;
case 3:
out << (exista? 1: 0) << '\n';
}
}
}