Pagini recente » Cod sursa (job #782566) | Cod sursa (job #726376) | Cod sursa (job #1229303) | Cod sursa (job #844870) | Cod sursa (job #1216079)
#include<fstream>
#include<vector>
#define pb push_back
#define LL long long
#define MOD 50000
#define MAXN 50000
using namespace std;
ifstream cin("hashuri.in");
ofstream cout("hashuri.out");
int N;
int op;
vector<LL> H[MAXN];
//find
vector<LL>::iterator find_value(int X){
vector<LL>::iterator it;
LL V=X%MOD;
it=H[V].begin();
while(it!=H[V].end() && *it!=X )
it++;
return it;
}
void add_value(int X) {
if(find_value(X)==H[X%MOD].end())
H[X%MOD].pb(X);
}
void erase_value(int X) {
if(find_value(X)!=H[X%MOD].end())
H[X%MOD].erase(find_value(X));
}
int main() {
int i,X;
cin>>N;
for(i=1;i<=N;i++){
cin>>op>>X;
switch(op) {
case 1 : add_value(X); break;
case 2 : erase_value(X); break;
case 3 : if(find_value(X)==H[X%MOD].end()) cout<<"0\n";
else cout<<"1\n"; break;
}
}
return 0;
}