AcWing 3542. 查找
原题链接
简单
作者:
上下四方
,
2025-01-18 11:51:43
,
所有人可见
,
阅读 1
#include <iostream>
#include <algorithm>
using namespace std;
int a[100],b[100];
int main(){
int n,m;
cin>>n;
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++){
int l=0,r=n-1;
while(l<=r) //l<=r时说明此时还有一个元素没查,而
{ //l<r时说明有两个没查
int mid=(l+r)/2;
if(b[i]==a[mid]){
cout<<"YES"<<"\n";
break;
}
else if(a[mid]>b[i]){
r=mid-1;
}
else{
l=mid+1;
}
}
if(l>r){
cout<<"NO"<<"\n";
}
}
return 0;
}