1 条题解

  • 1
    @ 2026-1-8 16:24:47
    #include <bits/stdc++.h>
    using namespace std;
    int n,m,a[2000010],t;
    int bs(int x){
    	int l=1,r=n,ans=-1;
    	while(l<=r){
    		int m=(l+r)/2;
    		if(a[m]==x) ans=m,l=m+1;
    		if(a[m]>x) r=m-1;
    		if(a[m]<x) l=m+1;
    	} 
    	return ans;
    }
    int main() {
        cin>>n;
        for(int i=1;i<=n;i++){
            cin>>a[i];
        }
        cin>>m;
    	for(int i=1;i<=m;i++){
    		cin>>t;
    		cout<<bs(t)<<" ";
    	}
    	return 0;
    }
    
    
    
    
    • 1

    信息

    ID
    4569
    时间
    1000ms
    内存
    128MiB
    难度
    10
    标签
    (无)
    递交数
    6
    已通过
    6
    上传者