Pagini recente » Cod sursa (job #1186748) | Cod sursa (job #645321) | Cod sursa (job #1901280) | Cod sursa (job #2205504) | Cod sursa (job #798510)
Cod sursa(job #798510)
#include <stdio.h>
#include <vector>
using namespace std;
#define mod 666013
int n;
vector <int> g[mod];
inline vector<int>::iterator find_value(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 (find_value(x) == g[list].end())
g[list].push_back(x);
}
inline void erase(int x)
{
int list = x%mod;
vector<int>::iterator it = find_value(x);
if (it != g[list].end())
g[list].erase(it);
}
int main()
{
int op, x;
FILE *fis = fopen ("hashuri.in", "r");
FILE *fis2 = fopen ("hashuri.out", "w");
for (fscanf(fis, "%d", &n); n; --n)
{
fscanf(fis, "%d %d", &op, &x);
if ( op == 1 )
{
insert(x);
continue;
}
if (op == 2)
{
erase(x);
continue;
}
fprintf(fis2, "%d\n", find_value(x) != g[x % mod].end());
}
return 0;
}