Pagini recente » Cod sursa (job #985976) | Cod sursa (job #2827909) | Cod sursa (job #3155768) | Cod sursa (job #2631998) | Cod sursa (job #1837256)
#include <fstream>
#include <vector>
#include<algorithm>
#define MOD 801701
using namespace std;
vector<int> m[801701];
void add(int nr);
void elim(int nr);
int cauta(int nr);
int main()
{
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
int n,op,nr;
fin >> n;
for(int i = 0; i < n; i++)
{
fin >> op >> nr;
switch(op)
{
case 1:
add(nr);
break;
case 2:
elim(nr);
break;
default:
fout << cauta(nr)<<'\n';
}
}
return 0;
}
void add(int nr)
{
int key=nr%MOD;
vector<int>::iterator boss = find(m[key].begin(), m[key].end(), nr);
if(boss == m[key].end())
m[key].push_back(nr);
}
void elim(int nr)
{
int key=nr%MOD;
vector<int>::iterator boss = find(m[key].begin(), m[key].end(), nr);
if(boss != m[key].end())
{
*boss = m[key].back();
m[key].pop_back();
}
}
int cauta(int nr)
{
int key=nr%MOD;
vector<int>::iterator boss = find(m[key].begin(), m[key].end(), nr);
if(boss != m[key].end())
return 1;
return 0;
}