传送门
一道二分,我就简单写题解,不讲了哈,因为自己也是蒟蒻,这是第一篇题解QwQ
#include <bits/stdc++.h>
using namespace std;
long long a[100000],b[100000],n,m;
bool find(long long x)
{
long long l = 1, r = n;
while (l <= r)
{
long long mid = (l + r) / 2;
if (a[mid] < x) l = mid + 1;
else if (a[mid] > x) r = mid - 1;
else return true;
}
return false;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=m;i++) cin>>b[i];
for(int i=1;i<=m;i++){
if(find(b[i])){
cout<<"Yes"<<endl;
continue;
}
cout<<"No"<<endl;
}
}