Pagini recente » Cod sursa (job #137007) | Cod sursa (job #3151231) | Cod sursa (job #365586) | Cod sursa (job #2261079) | Cod sursa (job #796739)
Cod sursa(job #796739)
#include <vector>
#include <fstream>
#define MOD 666013
using namespace std;
vector<int> V[MOD];
int N, op, x;
inline vector<int>::iterator find ( int x )
{
int l = x % MOD;
vector<int>::iterator it;
for ( it = V[l].begin(); it != V[l].end(); it++)
{
if(*it == x)
return it;
}
return V[l].end();
}
inline int query ( int x )
{
int l = x % MOD;
vector<int>::iterator it;
it = find(x);
if(it == V[l].end())
return 0;
else
return 1;
}
inline void add ( int x )
{
int l = x % MOD;
vector<int>::iterator it = find(x);
if(it == V[l].end())
{
V[l].push_back(x);
}
}
inline void erase ( int x )
{
int l = x % MOD;
vector<int>::iterator it = find(x);
if(it != V[l].end())
{
V[l].erase(it);
}
}
int main()
{
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
fin >> N;
for ( int i = 1; i <= N; i++)
{
fin >> op >> x;
if ( op == 1 )
{
add(x);
}
if ( op == 2 )
{
erase(x);
}
if ( op == 3 )
{
fout << query(x) << '\n';
}
}
fin.close();
fout.close();
return 0;
}