求一个简单的解答,不知道为什么全是wa
#include<cstdio>
#include<iostream>
using namespace std;
const int maxn = 1e6 + 8;
int a[maxn];
int find(int l, int r, int x) {
while (l < r) {
int mid = (l + r) >> 1;
if (a[mid] < x) {
l = mid + 1;
}
if (a[mid] >= x) {
r = mid - 1;
}
}
if (a[r] == x) {
return r;
}
return -1;
}
int main() {
int n, m, x, ans[maxn];
cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
for (int i = 1; i <= m; i++) {
cin >> x;
ans[i] = find(1, n, x);
}
for (int i = 1; i <= m; i++) {
cout << ans[i] << endl;
}
return 0;
}