答案正确,提交显示格式错误,我认为错误原因是最后一行进行了换行。但是我没有找到能解决的办法。完整代码如下:
def Create():
global H
H =[None]*1001
#设置堆的岗哨
H[0] = -10001
size = 0
def Insert(Data):
global size
size = size + 1
i = size
while(H[i//2]>Data):
H[i] = H[i//2]
i = i // 2
H[i] = Data
#创建主函数
def main():
Data_Number = list(map(int,input().split()))
if(Data_Number[0] > 0 and (Data_Number[1] > 0 and Data_Number[1]<=1000)):
Create()
Data = list(map(int, input().split()))
#逐个插入,建堆
for i in range(Data_Number[0]):
Insert(Data[i])
Nodes = list(map(int,input().split()))
for i in range(Data_Number[1]):
Result = []
Result.append(H[Nodes[i]])
while(Nodes[i]>1):
Nodes[i] //=2
Result.append(H[Nodes[i]])
for i in range(len(Result)):
print(Result[i],end=" ")
print()
return 0
if __name__=="__main__":
main()