Pagini recente » Istoria paginii runda/tema_1_lot2023/clasament | Cod sursa (job #988837) | Cod sursa (job #1780219) | Cod sursa (job #2416367) | Cod sursa (job #1040357)
#include <iostream>
#include <vector>
#include <fstream>
#define prime 666013
#define mod val%prime
using namespace std;
vector<int>H[666013];
int n,x,op;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int cauta(int val)
{
unsigned i;
unsigned m=H[mod].size();
for(i=0;i<m;i++)
if(H[mod][i]==val)
return i;
return -1;
}
void inserare(int val)
{
if(cauta(val)==-1)
H[mod].push_back(val);
}
void stergere(int val)
{
int cine=cauta(val);
if(cine!=-1)
{
H[mod][cine]==H[mod][H[mod].size()-1];
H[mod].pop_back();
}
}
void gasit(int val)
{
if(cauta(val)==-1)
g<<'0';
else
g<<'1';
g<<endl;
}
int main()
{
f>>n;
for(int i=1;i<=n;i++)
{
f>>op>>x;
if(op==1)
inserare(x);
if(op==2)
stergere(x);
if(op==3)
gasit(x);
}
f.close();
g.close();
return 0;
}