题目描述
输入
输出
样例输入
11 3
1 3 3 3 5 7 9 11 13 15 15
1 3 6
样例输出
1 2 -1
提示
题解:
#include<stdio.h>
int a[1000010];
int m, n;
void work(int b)
{
int l = 0;
int r = n - 1;
while (l < r)
{
int mid = (l + r) / 2;
if (a[mid] >= b)
{
r = mid;
}
else
{
l = mid + 1;
}
}
if (b == a[l])
{
printf("%d ", l + 1);
}
else
{
printf("-1 ");
}
}
int main()
{
int i, b;
scanf("%d %d", &n, &m);
for (i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
for (i = 0; i < m; i++)
{
scanf("%d", &b);
work(b);
}
return 0;
}