Pagini recente » Cod sursa (job #2872586) | Cod sursa (job #56059) | Cod sursa (job #2957969) | Cod sursa (job #1504423) | Cod sursa (job #2815510)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int n,op,x,y,i;
#define MOD 666012
vector <int > G[MOD];
ifstream in("hashuri.in");
ofstream out("hashuri.out");
inline vector<int>::iterator find_value(int x)
{
int l=x%MOD;
vector<int>::iterator it;
for (it=G[l].begin();it!=G[l].end();it++)
if (*it==x)
{
return it;
}
return G[l].end();
}
void insert_value(int x)
{
int l=x%MOD;
if (find_value(x)==G[l].end())
G[l].push_back(x);
}
void erase_value(int x)
{
int l = x % MOD;
vector<int>::iterator it = find_value(x);
if (it != G[l].end())
G[l].erase(it);
}
int main()
{
in>>n;
for (i=1;i<=n;i++)
{
in>>op;
if (op==1)
{
in>>x;
insert_value(x);
}
else if (op==2)
{
in>>x;
erase_value(x);
}
else
{
in>>x;
if (find_value(x)!=G[x%MOD].end()) out<<1<<endl;
else out<<0<<endl;
}
}
}