二分Tle一片???
查看原帖
二分Tle一片???
552776
this_is_hhh楼主2021/12/15 09:44
#include<iostream>
using namespace std;
	int a[1000002];
		int b[1000001];
int search(int middle,int left,int right,int target){
	while(left<right){
		if(a[middle]<target){
			left=middle-1;
			middle=(left+right)/2;
		}else if(a[middle]>target){
			right=middle+1;
			middle=(left+right)/2; 
		}else{
			return middle;
		}
	}
	return -1;
}
int main(){
	int n,m;
	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++){
		cout<<search(n/2,1,n,b[i])<<" ";
	}
	return 0;
}
2021/12/15 09:44
加载中...