Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.81 KB | None | 0 0
  1. str1 = input()
  2. str2 = input()
  3.  
  4. arr = [int(n) for n in str1.split(" ")] + [int(n) for n in str2.split(" ")]
  5.  
  6. def merge(A, left, mid, right):
  7.     AUX = []
  8.     indexes = []
  9.  
  10.     i = left
  11.     j = mid + 1
  12.  
  13.     while i <= mid and j <= right:
  14.  
  15.         if A[i] <= A[j]:
  16.             AUX.append(A[i])
  17.             indexes.append(i)
  18.             i += 1
  19.            
  20.         else:
  21.             AUX.append(A[j])
  22.             indexes.append(j)
  23.             j += 1
  24.            
  25.     if i <= mid or j <= right:
  26.         AUX.extend(A[j:])
  27.         indexes.extend([A.index(n) for n in range(j + 1, len(A) + 1)])
  28.        
  29.     A[left:right + 1] = AUX
  30.    
  31.     print(*AUX)
  32.    
  33.     return (" ".join(str (x)  for x in indexes))
  34.  
  35. left = 0
  36. right = len(arr) - 1
  37. mid = (right - 1) // 2
  38.  
  39. print(merge(arr, left, mid, right))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement