Pagini recente » Cod sursa (job #2369424) | Cod sursa (job #1461154) | Cod sursa (job #1653541) | Cod sursa (job #1194875) | Cod sursa (job #1332202)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
vector<long> v[666011];
vector<long>::iterator it;
long nmax=666011;
void adaug(long x)
{
v[x%nmax].push_back(x);
}
long exista(long x)
{
long i;
if (v[x%nmax].size()==0) return 0;
it=v[x%nmax].begin();
while (it!=v[x%nmax].end() && *it!=x)it++;
if (*it==x) return it-v[x%nmax].begin()+1;
else return 0;
}
void sterge(long x)
{
long i;
i=exista(x);
if (i)
v[x%nmax].erase( v[x%nmax].begin()+i-1);
}
int main()
{long n,i,op,x;
f>>n;
for(i=1;i<=n;i++)
{
f>>op>>x;
if (op==1)
adaug(x);
else if(op==2)
sterge(x);
else if(exista(x)) g<<1<<endl;
else g<<0<<endl;
}
g.close();
return 0;
}