11 条题解

  • -1
    @ 2024-3-6 19:09:58
    #include<iostream>
    using namespace std;
    int a[1000005],n,m,b;
    bool find(int x){
        int l=1,r=n;
        while(l<=r){
            int mid=(l+r)>>1;
            if(a[mid]==x)return 1;
            else if(a[mid]>x)r=mid-1;
            else l=mid+1;
        }
        return 0;
    }
    int main(){
    	cin>>n;
    	for(int i=1;i<=n;i++)cin>>a[i];
    	cin>>m;
    	while(m--){
    		cin>>b;
    		if(find(b))cout<<"YES"<<endl;
    		else cout<<"NO"<<endl;
    	}
    	return 0;
    }
    

    信息

    ID
    1278
    时间
    3000ms
    内存
    512MiB
    难度
    7
    标签
    递交数
    859
    已通过
    172
    上传者