满江红
查看原帖
满江红
1267066
yi18600361898楼主2024/3/17 12:41
#include <bits/stdc++.h>
using namespace std;
int main(){
	long long n,m,q;
	cin>>n>>m;
	long long a[n];
	int low=0,high=n-1,mid=(low+high)/2;
	for(long long i=0;i<n;i++) 
	    cin>>a[i];
	for(long long i=0;i<m;i++){
	    cin>>q;
	    while(low<=high){
	        if(a[mid]==q){
	            cout<<mid+1<<" ";
	            break;
	        }
	        else if(a[mid]>q){
	            low=mid+1;
	            mid=(low+high)/2;
	        }
	        else if(a[mid]<q){
	            high=mid-1;
	            mid=(low+high)/2;
	        }
	    }
	    cout<<"-1 ";
	}
    return 0;
}
2024/3/17 12:41
加载中...