样例卡在-1输不出来了,救助!!!
查看原帖
样例卡在-1输不出来了,救助!!!
565707
mediocre_楼主2022/12/24 20:24
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 6;
int n, m, q, a[N];
inline int find(register int x) {
	register int l = 1, r = n + 1;
	while (l < r) {
		register int mid = l + (r - 1) / 2;
		if (a[mid] >= x)r = mid;
		else l = mid + 1;
	}
	if (a[l] == x)return l;
	else return -1;
}
int main() {
	scanf("%d%d", &n, &m);
	for (register int i = 1; i <= n; ++i) 
	    scanf("%d", &a[i]);
	for (register int i = 1; i <= m; ++i) {
		scanf("%d", &q);
		printf("%d ", find(q));
	}
	return 0;
}
2022/12/24 20:24
加载中...