前5个RE,第6个AC。
while r-l>=0 :
将这一句改成:
while r-l>0 :
则6个WA
测试数据是对的,自己编点数据测试也是对的。实在找不出问题了。请大神指点一下坑在哪里。谢谢
n,m=map(int,input().split())
a=[int(i) for i in input().split()]
q=[int(i) for i in input().split()]
for i in q:
l=0
r=n-1
while r-l>=0 :
m=(l+r)//2
if i>a[m]:
l=m+1
else:
r=m-1
if i==a[l]:
print(l+1,end=' ')
else:
print(-1,end=' ')
print('')