不理解为什么输出成了1 3 -1
查看原帖
不理解为什么输出成了1 3 -1
1376639
YaoZhi_MOJ楼主2024/6/20 18:02
#include<iostream>
#define MAXN 1000010
using namespace std;
int a[MAXN] , m , n , q;
int find(int x) {
	int l = 1,r = n;
	while (l <= r) {
		int mid = (l+r)/2; 
		if (a[mid] == x) return mid;
		else if (a[mid] > x)r = mid - 1; 
		else l = mid + 1; 
	}
	return -1;
}
int main() {
	cin >> n >> m;
	for (int i = 1; i <= n; ++i)
		cin >> a[i];
	for (int i = 0; i < m; ++i) {
		cin >> q;
		cout << find(q) << " ";
	}
	return 0;
}
2024/6/20 18:02
加载中...