二分搜索
#include <stdio.h>
#include <stdlib.h>
#define MAXN 200000
int a[MAXN];
int n,m;
int BinarySearch(int x)
{
int flag=0;
int left=1;
int right=n;
while(left<=right)
{
int mid=(left+right)/2;
if(a[mid]==x)
{
flag=1;
return flag;
}
if(a[mid]>x)
right=mid-1;
else
left=mid+1;
}
return flag;
}
int main()
{
int i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&m);
for(i=1;i<=m;i++)
{
int a;
scanf("%d",&a);
int flag=BinarySearch(a);
if(flag==1)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}