Все просто, вам поступает число n — количество элементов в списке, и затем сам список.
Ваша задача отсортировать список по возрастанию при помощи пузырьковой сортировки, в случае если элементы соседние совпадают менять их ненужно.
В качестве ответа нужно вывести отсортированный список и какое количество раз пришлось переставлять элементы в процессе сортировки
от

1 Ответ

n = int(input())  
l = list(map(int, input().split()))
cnt = 0                           # счетчик перестановок
for i in range(0, n - 1):
    flag = False                  # Истина, если были перестановки.
                                  # Ложь - массив отсортирован, можно выходить из цикла
    for j in range(n - i - 1):
        if l[j] > l[j + 1]:       # если предыдущее число больше следующего, то надо переместить
            l[j], l[j + 1] = l[j + 1], l[j] # перемешаем значения
            cnt += 1              # плюсуем счетчик
            flag = True
    if not flag:
        break
print(*l, '\n'+str(cnt))
от