Pagini recente » Cod sursa (job #2084551) | Cod sursa (job #1711370) | Cod sursa (job #1742641) | Cod sursa (job #2962052) | Cod sursa (job #1146155)
/// Craciun Catalin
/// Hashuri
/// Arhiva educationala
#include <fstream>
#include <iostream>
#include <vector>
#define MOD 700001
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
vector<int> A[MOD];
int n;
inline vector<int>::iterator elementExists(int x)
{
int list=x%MOD;
vector<int>::iterator it;
for (it=A[list].begin(); it!=A[list].end(); it++)
if (*it==x)
return it;
return A[list].end();
}
void addElement(int x)
{
int list=x%MOD;
vector<int>::iterator it=elementExists(x);
if (it==A[list].end())
A[list].push_back(x);
}
void eraseElement(int x)
{
int list=x%MOD;
vector<int>::iterator it=elementExists(x);
if (it!=A[list].end())
A[list].erase(it);
}
int main()
{
f>>n;
for (int i=1;i<=n;i++)
{
short type; long el;
f>>type>>el;
if (type==1)
addElement(el);
else if (type==2)
eraseElement(el);
else
{
bool ok=elementExists(el)!=A[el%MOD].end();
g<<ok<<'\n';
}
}
f.close();
g.close();
return 0;
}