题目地址:http://ac.jobdu.com/problem.php?cid=1040&pid=19
C语言源码:
#include<stdio.h>
#include<stdlib.h>
int cmp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;
}
int search(int a[],int n,int x)
{
int low,high,key;
low=0;
high=n-1;
while(low<=high)
{
key=(low+high)/2;
if(a[key]==x)
return 1;
else
if(a[key]<x)
low=key+1;
else
high=key-1;
}
return 0;
}
int main()
{
int n,m,a[101],i,j,k,x;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
qsort(a,n,sizeof(a[0]),cmp);
scanf("%d",&k);
while(k)
{
k--;
scanf("%d",&x);
if(search(a,n,x))
printf("YES\n");
else
printf("NO\n");
}
}
}