归并排序与逆序对计数
TypeScript
Hard
sorting
任务 «归并排序与逆序对计数»
给定一个整数数组。需要使用归并排序将其按升序排序,并计算原始数组中的逆序对数量。逆序对是指满足 i < j 且 a[i] > a[j] 的一对索引 (i, j)。
输入数据:第一行包含数字 n(1 ≤ n ≤ 10^5),第二行包含 n 个整数,每个数的绝对值不超过 10^9。
输出数据:第一行为逆序对数量,第二行为排序后的数组,元素之间用空格分隔。
输入数据:第一行包含数字 n(1 ≤ n ≤ 10^5),第二行包含 n 个整数,每个数的绝对值不超过 10^9。
输出数据:第一行为逆序对数量,第二行为排序后的数组,元素之间用空格分隔。
输入格式
首先是一个整数 n。然后是 n 个整数,用空格分隔。
输出格式
两行:第一行是逆序数(整数),第二行是用空格分隔的已排序数组。
示例
示例 1
输入
5
3 1 4 2 5
输出
3
1 2 3 4 5
示例 2
输入
4
4 3 2 1
输出
6
1 2 3 4
示例 3
输入
123
输出
0
示例 4
输入
0
输出
0
main.ts