Pagini recente » Monitorul de evaluare | Cod sursa (job #851043) | Statistici Ioan Ionescu (ionut31) | Monitorul de evaluare | Cod sursa (job #2239740)
#include <fstream>
#include <vector>
std::ifstream cin("hashuri.in");
std::ofstream cout("hashuri.out");
using namespace std;
#define MOD 666013 // MAI BINE FACEAM ALTA METODA, FMM DE HASH CODE
vector <int> G[MOD+10]; //nu are nici un sens de ce nu ar merge?
inline vector<int>::iterator find_x(int x){
vector<int>::iterator it;
for(it=G[x%MOD].begin();it!=G[x%MOD].end();it++)
if(*it==x)
return it;
return G[x%MOD].end();
}
inline void insert_x(int x){
if(find_x(x%MOD)==G[x%MOD].end())
G[x%MOD].push_back(x);
}
inline void delete_x(int x){
vector<int>::iterator it=find_x(x);
if(it!=G[x%MOD].end())
G[x%MOD].erase(it);
}
int main()
{
int op,x,nr;
cin>>nr;
for(;nr--;){
cin>>op>>x;
if(op==1)
insert_x(x);
else
if(op==2)
delete_x(x);
else{
cout<<(find_x(x)!=G[x%MOD].end());
cout<<'\n';
}
}
}