Pagini recente » Cod sursa (job #2648353) | Cod sursa (job #1659944) | Cod sursa (job #2324166) | Cod sursa (job #1334170) | Cod sursa (job #1565303)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <limits.h>
#define MOD 666013
using namespace std;
vector<int> H[MOD];
int srch(int x)
{
int index = x % MOD;
vector<int>::iterator it = find(H[index].begin(), H[index].end(), x);
if(it != H[index].end())
return 1;
return 0;
}
void add(int x)
{
int index = x % MOD;
if(!srch(x))
H[index].push_back(x);
}
void rem(int x)
{
int index = x % MOD;
vector<int>::iterator it = find(H[index].begin(), H[index].end(), x);
if(it != H[index].end())
H[index].erase(it);
}
int main()
{
ifstream in("hashuri.in");
ofstream out("hashuri.out");
int n;
in >> n;
for(int i = 1; i <= n; i++)
{
long long int op, x;
in >> op >> x;
switch(op)
{
case 1:
add(x);
break;
case 2:
rem(x);
break;
case 3:
out << srch(x) << "\n";
break;
default:
;
}
}
in.close();
out.close();
}