注意要点是全局变量在函数内部的声明
N = int(input())
sequence = list(map(int, input().split()))
res = 0
def merge_sort(my_list):
global res
if len(my_list) > 1:
mid = len(my_list) >> 1
L = my_list[:mid]
R = my_list[mid:]
merge_sort(L)
merge_sort(R)
i, j, k = 0, 0, 0
while i < len(L) and j < len(R):
if L[i] <= R[j]:
my_list[k] = L[i]
i += 1
else:
my_list[k] = R[j]
j += 1
res += len(L) - i
k += 1
while i < len(L):
my_list[k] = L[i]
k += 1
i += 1
while j < len(R):
my_list[k] = R[j]
k += 1
j += 1
merge_sort(sequence)
print(res)