Pagini recente » Cod sursa (job #231733) | Cod sursa (job #1548969) | Cod sursa (job #1684514) | Cod sursa (job #506729) | Cod sursa (job #2752231)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int N, op, x, i;
vector<int> v[666013];
inline vector<int>::iterator find_value(int x)
{
int list = x % 666013;
for (vector<int>::iterator it = v[list].begin(); it != v[list].end(); ++it)
if (*it == x)
return it;
return v[list].end();
}
inline void insert_value(int x)
{
int list = x % 666013;
if (find_value(x) == v[list].end())
v[list].push_back(x);
}
inline void erase_value(int x)
{
int list = x % 666013;
vector<int>::iterator it = find_value(x);
if (it != v[list].end())
v[list].erase(it);
}
int main()
{
f>>N;
for(i=0;i<N;i++)
{
f>>op>>x;
if (op==1)
{
insert_value(x);
continue;
}
if (op==2)
{
erase_value(x);
continue;
}
if(op==3)
g<<(find_value(x) != v[x%666013].end())<<"\n";
}
return 0;
}