Pagini recente » Cod sursa (job #2471683) | Cod sursa (job #2073450) | Cod sursa (job #2458128) | Cod sursa (job #1082989) | Cod sursa (job #1132214)
/// Craciun Catalin
/// Hashuri
/// Arhiva educationala
/// www.infoarena.ro/problema/hashuri
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
#define M 700001
ifstream f("hashuri.in");
ofstream g("hashuri.out");
vector<int> A[M];
inline vector<int>::iterator searchElement(int x)
{
int list=x%M;
for (vector<int>::iterator it=A[list].begin();it!=A[list].end();++it)
if (*it==x)
return it;
return A[list].end();
}
inline void eraseElement(int x)
{
int list=x%M;
if (searchElement(x)!=A[list].end())
A[list].erase(searchElement(x));
}
inline void addElement(int x)
{
int list=x%M;
if (searchElement(x)==A[list].end())
A[list].push_back(x);
}
int main()
{
long n; f>>n;
for (long i=1;i<=n;i++)
{
short tip; long x;
f>>tip>>x;
if (tip==1)
addElement(x);
else if (tip==2)
eraseElement(x);
else if (tip==3)
{
int list=x%M;
if (searchElement(x)==A[list].end())
g<<0<<'\n';
else
g<<1<<'\n';
}
}
f.close();
g.close();
return 0;
}