**题目:

有一段长度为n的序列,q次查找,每次查找输入一个值x,需要你判断序列中是否存在值等于x的元素,若存在,请输出Yes,否则输出No,保证序列中每一个元素都是唯一的。

输入:
13 2
2 5 8 10 15 25 35 45 50 60 70 80 90
10
18
输出:
Yes
No
分析这道题很简单:不过多介绍
源码:**

include

using namespace std;
int main(void)
{

int n,q;
cin>>n>>q;
int arr[n];
for(int i=0;i<n;i++)
{
    cin>>arr[i];
}
for(int j=0;j<q;j++)
{
    int as,a=0,b=n-1,md;
    cin>>as;
    while(as>arr[0]&&as<arr[n-1]&&b-a>=0)
    {
        md=arr[(a+b)/2];
        if(as==md)
        {
            a=-1; 
            cout<<"Yes"<<endl;
            break;
        }else if(as>md)
        {
            a=(a+b)/2+1;
        }else if(as<md)
        {
            b=(a+b)/2-1;
        }
    }
    if(a!=-1)
    {
        cout<<"No"<<endl;
    }
}
return 0;

}