这道题的算法思想就是选择散列函数中比较省时的构造方法,直接寻址法。
代码如下:
#include <stdio.h>
int a[100011];
int main(){
int n,m,i;
scanf("%d %d",&n,&m);
for(i=0;i<n;i++){
int t;
scanf("%d",&t);
a[t]=1;//采用直接寻址的方法,因为这样时间最短;
}
for(i=0;i<m;i++){
int d;
scanf("%d",&d);
if(a[d])
printf("YES\n");
else
printf("NO\n");
}
return 0;
}