fork download
  1. m,n=input().split()
  2. m,n=int(m),int(n)
  3. l1 = list(map(int, input().split()))
  4. l=[]
  5. a=maxx=0
  6. for i in range(m):
  7. l.append(i)
  8. sumx=l1[i]
  9.  
  10. for j in range(1,2**n):
  11. k=l.pop(0)
  12. if k>=m:break
  13. sumx+=l1[k]
  14. l.append(2*k+1)
  15. l.append(2 * k + 2)
  16.  
  17. del l[:]
  18. if maxx<sumx:
  19. maxx=sumx
  20. a=i
  21. l.append(a)
  22.  
  23. for j in range(1,2**n):
  24. k=l.pop(0)
  25. if k>=m:break
  26. print(l1[k],end=" ")
  27. l.append(2*k+1)
  28. l.append(2 * k + 2)
  29.  
Success #stdin #stdout 0.04s 9496KB
stdin
7 2  
1 2 3 4 5 6 7
stdout
3 6 7