Pagini recente » Cod sursa (job #2516116) | Cod sursa (job #2623959) | Cod sursa (job #1088004) | Cod sursa (job #2925500) | Cod sursa (job #892033)
Cod sursa(job #892033)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
#define NMAX 666013
int n;
vector<int> G[NMAX];
inline vector<int>::iterator findt(int val)
{
int list=val%NMAX;
vector<int>::iterator it;
for(it=G[list].begin();it!=G[list].end();it++)
if(*it==val)
return it;
return G[list].end();
}
inline void insert(int val)
{
int list = val % NMAX;
if(findt(val)==G[list].end());
G[list].push_back(val);
}
inline void erase(int val)
{
int list = val % NMAX;
vector<int>::iterator it=findt(val);
if( it != G[list].end())
G[list].erase(it);
}
int main()
{
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
fin>>n;
int x,y;
for(int i=1;i<=n;i++)
{
fin>>x>>y;
if(x==1)
{
insert(y);
}
else if(x==2)
{
erase(y);
}
else fout<< (findt(y)!=G[y%NMAX].end())<<'\n';
}
return 0;
}