code:
#include<bits/stdc++.h>
using namespace std;
int a[100001];
int main()
{
int n,m,q;
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
while(m--)
int l=1,r=n,mid;
bool flag=false;
scanf("%d",&q);
while(l<=r)
{
mid=(l+r)/2;
if (a[mid]>q)
{
r=mid-1;
}
else if (a[mid]<q)
{
l=mid+1;
}
else
{
printf("%d ",mid);
flag=true;
break;
}
}
if (!flag)
{
printf("-1 ");
}
}
printf("\n");
return 0;
}
样例:11 3
1 3 3 3 5 7 9 11 13 15 15
1 3 6
结果却出来了:1 3 -1
HELP