代码
#include <iostream>
#include <cstring>
using namespace std;
int n;
const int N = 207003;
int h[N],e[N],ne[N],idx;
bool find(int x){
int t = (x%N+N)%N;
//~i等价于i!=-1
for(int i = h[t];~i;i=ne[i])if(e[i]==x)return true;
return false;
}
//拉链法
void insert(int x){
if(find(x))return;
int t = (x%N+N)%N;
e[idx] = x,ne[idx] = h[t],h[t] = idx++;
}
int main(){
memset(h,-1,sizeof(h));
int n,num;
char cm[2];
cin>>n;
for(int i=0;i<n;i++){
scanf("%s%d",cm,&num);
if(*cm=='Q'){
if(find(num))printf("Yes\n");
else printf("No\n");
}else insert(num);
}
}