手写二分,本地编译器都可以过,但是一提交就wa,大佬帮忙看看
查看原帖
手写二分,本地编译器都可以过,但是一提交就wa,大佬帮忙看看
588559
zzq12138楼主2021/11/16 14:21
#include<iostream>
using namespace std;
const int N=10000100;
int n,m,a[N],x;
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	while(m--){
		cin>>x;
		int l=1,r=n;
		while(l<r){
			int mid=l+(r-l)/2;
			if(a[mid]>=x) r=mid;
			else l=mid+1;
		}
		if(a[l]!=x) cout<<-1;
		else cout<<l<<" ";
	}
	return 0;
}
2021/11/16 14:21
加载中...