Pagini recente » Cod sursa (job #806049) | Cod sursa (job #1808193) | Cod sursa (job #1034427) | Cod sursa (job #1138785) | Cod sursa (job #2204034)
#include <fstream>
#include <vector>
using namespace std;
#define mod 666013
int n;
vector<int> G[mod];
ifstream f("hashuri.in");
ofstream g("hashuri.out");
inline vector<int>::iterator findValue(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(int x)
{
int list=x%mod;
if(findValue(x)==G[list].end())
G[list].push_back(x);
}
inline void erase(int x)
{
int list=x%mod;
vector<int>::iterator it=findValue(x);
if(it!=G[list].end())
G[list].erase(it);
}
int main()
{
int op,x;
f>>n;
for(;n;--n)
{
f>>op>>x;
if(op==1)
{
insert(x);
continue;
}
else if(op==2)
{
erase(x);
continue;
}
g<<(findValue(x)!=G[x].end())<<"\n";
}
f.close();
g.close();
return 0;
}