Pagini recente » Cod sursa (job #1448570) | Cod sursa (job #1014218) | Cod sursa (job #3226082) | Istoria paginii runda/simulare_oji_2023_clasele_11_12_15_martiee/clasament | Cod sursa (job #2778846)
#include <iostream>
#include <fstream>
#include <vector>
#include <stack>
#define P 370003
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
vector<int> h[370005];
void Adaugare(int x)
{
int r = x % P;
h[r].push_back(x);
}
int Cautare(int x)
{
int r = x % P;
for(int i = 0; i < h[r].size(); i++)
{
if(h[r][i] == x)
{
return i;
}
}
return -1;
}
void Stergere(int x)
{
int r = x % P, l, i;
l = h[r].size();
i = Cautare(x);
if(i != -1)
{
h[r][i] = h[r][l-1];
h[r].pop_back();
}
}
int main()
{
int n, op, x;
fin >> n;
for (int i = 1; i <= n; i++)
{
fin >> op >> x;
if (op == 1)
{
Adaugare(x);
}
else if (op == 2)
{
Stergere(x);
}
else if (op == 3)
{
if(Cautare(x) != -1)
{
fout << 1 << "\n";
}
else
{
fout << 0 << "\n";
}
}
}
fin.close();
fout.close();
return 0;
}