Pagini recente » Cod sursa (job #307752) | Cod sursa (job #1534013) | Cod sursa (job #1178806) | Cod sursa (job #1484075) | Cod sursa (job #892018)
Cod sursa(job #892018)
#include <iostream>
#include <fstream>
#include <vector>
#define NMAX 666013
using namespace std;
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();
}
void insert(int val)
{
int list = val % NMAX;
if(findt(val)==G[list].end());
G[list].push_back(val);
}
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());
}
return 0;
}