Pagini recente » Cod sursa (job #952966) | Cod sursa (job #2144111) | Cod sursa (job #2646183) | Cod sursa (job #1397915) | Cod sursa (job #2896042)
#include <iostream>
#include <fstream>
#include <queue>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int N, operatie, k = 666015;
long long numar;
vector<int> v[666016];
void operatie1(int numar, int h)
{
int ok = 0;
for (int i = 0; i < v[h].size(); ++i)
if(v[h][i] == numar)
ok = 1;
if(ok == 0)
v[h].push_back(numar);
}
void operatie2(int numar, int h)
{
int poz = -1;
for (int i = 0; i < v[h].size(); ++i)
if(v[h][i] == numar)
{
poz = i;
break;
}
if(poz != -1)
{
swap(v[h][poz], v[h][v[h].size() - 1]);
v[h].pop_back();
}
}
int operatie3(int numar, int h)
{
for(int i = 0; i < v[h].size(); ++i)
if(v[h][i] == numar)
return 1;
return 0;
}
int main()
{
f>>N;
for(int i = 0; i < N; ++i)
{
f>>operatie>>numar;
int h = numar % k;
switch (operatie) {
case 1:
{
operatie1(numar, h);
break;
}
case 2:
{
operatie2(numar, h);
break;
}
case 3:
{
g<<operatie3(numar, h)<<'\n';
break;
}
}
}
return 0;
}