Count Inversions Count Inversions
Elementary
EN EL ES FR JA Russian UK

В комьютерной науке и дискретной математике, инверсия - это пара позиций последовательности, где элементы на этих позициях выпадают из естественного порядка. Таким образом, если мы используем порядок по возрастанию для группы чисел, то инверсия получается, когда более крупные цифры стоят перед меньшим значением в последовательности.

Проверим такой пример последовательности: (1, 2, 5, 3, 4, 7, 6) и мы можем видеть здесь три инверсии
- 5 и 3; - 5 и 4; - 7 и 6.

Вам дана последовательность уникальных чисел и вы должны подсчитать число инверсий в этой последовательности.

Входные данные: Последовательность как кортеж целых чисел.

Выходные данные: Количество инверсий.

Примеры:

count_inversion((1, 2, 5, 3, 4, 7, 6)) == 3
count_inversion((0, 1, 2, 3)) == 0

Как это используется: В этой миссии вы будете использовать чудеса вложенных циклов, конечно, если вы не используете продвинутые алгоритмы.

Предусловия: 2 < len(sequence) < 200
len(sequence) == len(set(sequence))
all(-100 < x < 100 for x in sequence)