Pagini recente » Cod sursa (job #1526695) | Cod sursa (job #2060001) | Cod sursa (job #1202014) | Cod sursa (job #872294) | Cod sursa (job #2698476)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
const int MOD = 666019;
const int N = 1000001;
int val[N], urm[N], lst[MOD];
int nr;
void adauga(int x)
{
int categorie = x % MOD;
val[++nr] = x;
urm[nr] = lst[categorie];
lst[categorie] = nr;
}
bool caut(int x)
{
int categorie = x % MOD;
int p = lst[categorie];
while(p != 0)
{
if(val[p] == x)
return true;
p = urm[p];
}
return false;
}
void sterg(int x)
{
int categorie = x % MOD;
int p = lst[categorie];
while(p != 0 && val[p]!= x)
{
p = urm[p];
}
if(val[p] != 0)
{
swap(val[p],val[lst[categorie]]);
lst[categorie] = urm[lst[categorie]];
}
}
int main()
{
int n;
fin >> n;
for(int i = 1; i <= n; i ++)
{
int operatie, x;
fin >> operatie;
fin >> x;
if(operatie == 1)
{
adauga(x);
}
if(operatie == 2)
{
sterg(x);
}
if(operatie == 3)
{
fout << caut(x) << '\n';
}
}
return 0;
}