Pagini recente » Cod sursa (job #222503) | Cod sursa (job #1445530) | Cod sursa (job #1822208) | Cod sursa (job #1020809) | Cod sursa (job #1050346)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in ("hashuri.in");
ofstream out ("hashuri.out");
vector <int> v[666013];
void swap1(int &a, int &b)
{
int aux=a;
a=b;
b=aux;
}
bool cautare(int x)
{
int z=x%666013;
if (v[z].empty())
return 0;
for (int i=0;i<v[z].size();++i)
{
if (v[z][i]==x)
return 1;
}
return 0;
}
void push(int x)
{
if (cautare(x)==0)
v[x%666013].push_back(x);
}
void pop(int x)
{
if (cautare(x)==1)
{
int z=x%666013;
for (int i=0;i<v[z].size();++i)
{
if (v[z][i]==x)
{
swap1(v[z][i], v[z][v[z].size()-1]);
v[z].pop_back();
return;
}
}
}
}
int main()
{
int N, op, x;
in>>N;
for (int i=0;i<N;++i)
{
in>>op>>x;
switch(op)
{
case 1:
push(x);
break;
case 2:
pop(x);
break;
case 3:
out<<cautare(x)<<'\n';
break;
}
}
return 0;
}