Mergesort mit Inversionsbestimmung

PHP Hard sorting

Aufgabe «Mergesort mit Inversionsbestimmung»

Gegeben ist ein Array von ganzen Zahlen. Es soll der Mergesort-Algorithmus implementiert werden, der auch die Anzahl der Inversionen im Array zählt. Eine Inversion ist ein Paar von Indizes (i, j), für das i < j und arr[i] > arr[j] gilt. Geben Sie das sortierte Array und die Anzahl der Inversionen aus.

Eingabeformat

In der ersten Zeile eine ganze Zahl N (1 ≤ N ≤ 10^5) — die Anzahl der Elemente. In der zweiten Zeile N ganze Zahlen, durch Leerzeichen getrennt.

Ausgabeformat

In der ersten Zeile N Zahlen, durch Leerzeichen getrennt — das aufsteigend sortierte Array. In der zweiten Zeile eine ganze Zahl — die Anzahl der Inversionen.

Beispiele

Beispiel 1

EINGABE
Война и мир Лев Толстой 1869
AUSGABE
Название: Война и мир, Автор: Лев Толстой, Год: 1869

Beispiel 2

EINGABE
3 1 2 3
AUSGABE
1 2 3 0

Beispiel 3

EINGABE
1984 Джордж Оруэлл 1949
AUSGABE
Название: 1984, Автор: Джордж Оруэлл, Год: 1949
main.php