#include <iostream>
#include <cstdio>
using namespace std;
int a[1001000];
int n,q,b;
string S;
//直接二分
int find(int x)
{
int left = 1, right = n+1; //左边取得到,右边界往右移一个
while (left < right)
{
int mid = (left + right) / 2;
if (a[mid] == x) {
return mid; // 查询到目标值,直接返回目标值的位置
}
else if (x < a[mid]) {
right = mid; // 中间的值大于目标值,向左收缩区间
}
else if (a[mid] < x) {
left = mid + 1;// 中间的值小于目标值,向右收缩区间
}
}
return -1;// Not found
}
int main()
{
cin >> n;
for(int i = 1;i <= n;i ++)
scanf("%d",&a[i]);
cin >> q;
for(int i = 1;i <= q;i ++){
scanf("%d",&b);
if(find(b) != -1)
S += 'Y';
else
S += 'N';
}
cout << S << endl;
}
03-31
188
02-12
2499
10-02
1014
09-26
416