Pagini recente » Cod sursa (job #1415695) | Cod sursa (job #2753132) | Cod sursa (job #2830402) | Cod sursa (job #656649) | Cod sursa (job #629357)
Cod sursa(job #629357)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
//#define P 666013;
int A,B,n;
const int P=666013;
ofstream fout("hashuri.out");
vector<int> Arr[P];
int find(int x)
{
int K=x%P;
for(int i=0;i<Arr[K].size();i++)
if(Arr[K][i]==x)
{
//fout<<"X gasit"<<x<<"\n";
return i;
}
return -2;
}
void add(int x)
{
int K=x%P;
Arr[K].push_back(x);
}
void remove(int x)
{
int K=x%P;
if(find(x)!=-2)
Arr[K].erase(Arr[K].begin()+find(x));
}
int Operatii(int x,int y)
{
switch(x)
{
case 1:
add(y);
return -1;
case 2:
remove(y);
return -1;
case 3:
if(find(y)!=-2)
{
//fout<<"y"<<y<<"\n";
return 1;
}
else
return 0;
default:
return -1;
}
}
void Read()
{
ifstream fin("hashuri.in");
fin>>n;
for(int i=1;i<=n;i++)
{
fin>>A>>B;
//fout<<A<<B<<"op";
int nr=Operatii(A,B);
if(nr!=-1)
fout<<nr<<"\n";
}
fin.close();
fout.close();
}
int main()
{
Read();
return 0;
}