Pagini recente » Cod sursa (job #1557446) | Cod sursa (job #1594569) | Monitorul de evaluare | Cod sursa (job #1042125) | Cod sursa (job #1426851)
#include <fstream>
#define MOD 666013
#include <vector>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
vector <int> G[MOD];
inline vector<int>:: iterator find_value(int x)
{
int list = x%MOD;
vector<int> :: iterator it;
for(it=G[list].begin();it!=G[list].end();it++)
if(*it==x)
return it;
return G[list].end();
}
inline void insert_value(int x)
{
int list=x%MOD;
if(find_value(x)==G[list].end())
G[list].push_back(x);
}
inline void erase_value(int x)
{
int list=x%MOD;
vector<int> :: iterator it=find_value(x);
if(it!=G[list].end())
G[list].erase(it);
}
int n,i,x,op;
int main()
{
fin>>n;
for(i=1;i<=n;i++)
{
fin>>op>>x;
if(op==1)
insert_value(x);
else
if(op==2)
erase_value(x);
else
{
if(find_value(x)!=G[x%MOD].end())
fout<<1<<'\n';
else
fout<<0<<'\n';
}
}
return 0;
}