Pagini recente » Cod sursa (job #2904625) | Cod sursa (job #2218972) | Cod sursa (job #2789519) | Cod sursa (job #1906331) | Cod sursa (job #1374853)
#include <fstream>
#include <vector>
using namespace std;
ifstream is("hashuri.in");
ofstream os("hashuri.out");
#define MOD 666013
int n;
vector<int> G[MOD];
inline vector<int>::iterator find_value( int x )
{
int lista = x % MOD;
vector<int>::iterator it;
for( it = G[lista].begin(); it != G[lista].end(); ++it )
if( *it == x )
return it;
return G[lista].end();
}
inline void insert_value( int x )
{
int lista = x % MOD;
if( find_value(x) == G[lista].end() )
G[lista].push_back(x);
}
inline void erase_value( int x )
{
int lista = x % MOD;
vector<int>::iterator it = find_value(x);
if(it != G[lista].end())
G[lista].erase(it);
}
int main()
{
is >> n;
int op, x;
for( int i = 1; i <= n; ++i )
{
is >> op >> x;
if( op == 1 )
insert_value(x);
if( op == 2 )
erase_value(x);
if( op == 3 )
{
vector<int>::iterator it = find_value(x);
if( it != G[x % MOD].end() )
os << '1' << '\n';
else
os << '0' << '\n';
}
}
is.close();
os.close();
return 0;
}