Pagini recente » Cod sursa (job #941477) | Cod sursa (job #1807477) | Cod sursa (job #2959616) | Cod sursa (job #1363611) | Cod sursa (job #1526993)
#include <fstream>
#include <cmath>
using namespace std;
int main()
{
ifstream ii("hashuri.in");
ofstream oo("hashuri.out");
int n, i, j, p, x, op, mod, gasit = -1; ii >> n;
p = floor(sqrt(n));
int tab[p+2][p+2], cap[p+2];
for (i = 0; i < p+2; i++)
cap[i] = 0;
for (i = 0; i < n; i++, gasit = -1)
{
ii >> op >> x; mod = x%p;
for (j = 0; j < cap[mod]; j++)
if (tab[mod][j] == x)
{
gasit = j; break;
}
if (gasit >= 0)
switch (op)
{
case 1: break;
case 2: tab[mod][gasit] = tab[mod][--cap[mod]]; break;
case 3: oo << "1\n"; break;
}
else
switch (op)
{
case 1: tab[mod][cap[mod]++] = x; break;
case 2: break;
case 3: oo << "0\n"; break;
}
}
}