Pagini recente » Cod sursa (job #2963541) | Cod sursa (job #1995458) | Monitorul de evaluare | Cod sursa (job #2149223) | Cod sursa (job #2010613)
#include <iostream>
#include <fstream>
#include<vector>
using namespace std;
int m=999863;
vector <int>v[999863];
inline vector<int>::iterator fin(int j)
{int mo;
mo=j%m;
vector<int>::iterator it=v[mo].begin();
for(it;it!=v[mo].end();it++)
{
if(*it==j)return it;
}
return v[mo].end();
}
void add(int j)
{ int mo;
mo=j%m;
if(fin(j)==v[mo].end())
v[mo].push_back(j);
}
void sterge(int j)
{
int mo;
mo=j%m;
vector<int>::iterator it=fin(j);
if(it!=v[mo].end())v[mo].erase(it);
}
int main()
{ifstream f("hashuri.in");
ofstream g("hashuri.out");
int i,j,p,n;
f>>n;
for(i=0;i<n;i++)
{
f>>p>>j;
if(p==1)
{
add(j);
}
else if(p==2)
{
sterge(j);
}
else
{
int mo;
mo=j%m;
vector<int>::iterator it=fin(j);
if(it==v[mo].end())g<<"0"<<"\n";
else g<<"1"<<"\n";
}
}
return 0;
}