样例和自己测试数据都对的不知道为啥WA
上代码
#include<iostream>
#include<algorithm>
#pragma warning(disable:4996)
using namespace std;
int main(void)
{
int n, m, k, a[100005], b[100005];
scanf("%d %d", &n, &m);
for (int i = 0; i < n; i++)
{
scanf("%d",&a[i]);
}
for (int i = 0; i < m; i++)
{
int r = n - 1, l = 0, x;
scanf("%d", &x);
while (r > l)
{
int mid = (l + r) / 2;
if (a[mid] >= x)r = mid;
else l = mid + 1;
}
if (i != m - 1)
{
if (a[l] != x)printf("-1 ");
else printf("%d ", l + 1);
}
else
{
if (a[l] != x)printf("-1");
else printf("%d", l + 1);
}
}
return 0;
}