Pagini recente » Cod sursa (job #2613298) | Cod sursa (job #260751) | Cod sursa (job #2493050) | Cod sursa (job #305570) | Cod sursa (job #2574012)
#include <fstream>
#include <vector>
#define k(x) x%prim
using namespace std;
ifstream fi("hashuri.in");
ofstream fo("hashuri.out");
const int prim=669173;
int n;
vector <int> H[prim+5];
void adauga(int x)
{
H[k(x)].push_back(x);
}
void sterge(int x)
{
for(int i=0; i<H[k(x)].size(); i++)
if(H[k(x)][i]==x)
{
H[k(x)][i]=H[k(x)][H[k(x)].size()-1];
H[k(x)].pop_back();
}
}
bool apare(int x)
{
for(auto el:H[k(x)])
if(el==x)
return 1;
return 0;
}
int main()
{
fi>>n;
while(n--)
{
int q, x;
fi>>q>>x;
if(q==1)
adauga(x);
else if(q==2)
sterge(x);
else
fo<<apare(x)<<"\n";
}
fi.close();
fo.close();
return 0;
}