Pagini recente » Monitorul de evaluare | Cod sursa (job #1988809) | Cod sursa (job #2181281) | Cod sursa (job #663205) | Cod sursa (job #1900006)
#include <iostream>
#include <vector>
#define MOD 666013
#include <fstream>
using namespace std;
vector<int> G[MOD];
inline vector<int>::iterator find_value(int x);
inline void insert_value(int x);
inline void erase_value(int x);
int main()
{
int op,x,N;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
fin>>N;
while(N--)
{
fin>>op>>x;
if(op==1) {insert_value(x); continue;}
if(op==2) {erase_value(x); continue;}
fout<<(find_value(x)!=G[x%MOD].end())<<'\n';
}
return 0;
}
inline vector<int>::iterator find_value(int x)
{
int li=x%MOD;
for(vector<int>::iterator i=G[li].begin();i!=G[li].end();++i)
if(*i==x)
return i;
return G[li].end();
}
inline void insert_value(int x)
{
int l=x%MOD;
if(find_value(x)==G[l].end())
G[l].push_back(x);
}
inline void erase_value(int x)
{
int l=x%MOD;
vector<int>::iterator it=find_value(x);
if(it!=G[l].end())
G[l].erase(it);
}