Pagini recente » Cod sursa (job #1926593) | Cod sursa (job #443424) | Cod sursa (job #277809) | Cod sursa (job #2898326) | Cod sursa (job #2700842)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.in");
const int MOD = 666019;
const int N = 1000005;
int val[N], urm[N], lst[MOD], nr;
void adauga(int x)
{
int categorie = x % MOD;
val[++nr] = x;
urm[nr] = lst[categorie];
lst[categorie] = nr;
}
bool cauta(int x)
{
int categorie = x % MOD;
int p = lst[categorie];
while(p != 0 && val[p] != x)
{
p = urm[p];
}
if(p)
return true;
return false;
}
void sterge(int x)
{
int categorie = x % MOD;
int p = lst[categorie];
while(p != 0 && val[p] != x)
{
p = urm[p];
}
if(p != 0)
{
swap(val[p],val[lst[categorie]]);
lst[categorie] = urm[lst[categorie]];
}
}
int main()
{
int operatii;
fin >> operatii;
while(operatii--)
{
int tip_operatie, val;
fin >> tip_operatie >> val;
if(tip_operatie == 1)
adauga(val);
if(tip_operatie == 2)
sterge(val);
if(tip_operatie == 3)
fout << cauta(val) << '\n';
}
return 0;
}