- 题目描述:
 -   输入数组长度 n  输入数组      a[1...n]  输入查找个数m  输入查找数字b[1...m]    输出 YES or NO  查找有则YES 否则NO 。
 -  
 - 输入:
 -   输入有多组数据。 每组输入n,然后输入n个整数,再输入m,然后再输入m个整数(1<=m<=n<=100)。
 
- 输出:
 -   如果在n个数组中输出YES否则输出NO。
 
- 样例输入:
 -   5
 -   1 5 2 4 3
 -   3
 -   2 5 6
 -  
 - 样例输出:
 -   YES
 -   YES
 -   NO 
 
#include<stdio.h>
#include<algorithm>
using namespace std;
const int maxn=100;
int main(){
    freopen("input.txt", "r", stdin);
    int n=0;
    while(scanf("%d", &n) != EOF){
        int m=0, ns[maxn];
        for(int i=0; i < n; i++){
            scanf("%d", &ns[i]);
        }
        sort(ns, ns+n);//排序 
        scanf("%d", &m);
        for(int i=0; i < m; i++){
            int search=0;
            int top=n-1, base=0;
            scanf("%d", &search);
            while(top>=base){
                int mid=(top+base)/2;//计算中间点下标
                int tmp=ns[mid];
                if(tmp == search){
                    printf("YES\n");
                    break;
                }else if(tmp > search) top=mid-1;
                else base=mid+1;
            }
            if(top < base) printf("NO\n");
        }
    }
    return 0;
}