#include <algorithm>
#include <functional>
#include <iostream>
using namespace std;

int main() {
    int n, m;
    int a[100];
    int b[100];
    while (cin >> n) { // 注意 while 处理多个 case
       for(int i=0;i<n;i++)
       {
         cin>>a[i];
       }
       cin>>m;
       for(int i=0;i<m;i++)
       cin>>b[i];

       sort(a,a+n);
       for(int i=0;i<m;i++)
       if(binary_search(a, a+n, b[i]))
       cout<<"YES"<<endl;
       else cout<<"NO"<<endl;
    }
}
// 64 位输出请用 printf("%lld")

使用二分查找binary_serch(arr,arr+size,index);其中arr是待查找数组的起始位置,arr+size是待查找数组的结束位置,index是待查找元素的值.注意二分查找的数组必须是有序的。此题可以先sort排序后用二分查找。