问题 5188 --循环逆序对

5188: 循环逆序对

题目描述

给定一个长度为 $n$ 的序列 $a_0, a_1, \cdots, a_{n-1}$ 和一个参数 $k$。将数列 $a$ 重复 $k$ 次,得到长度为 $n\times k$ 的序列 $b$,即 $b_i = a_{i \bmod n}$,其中 $0 \le i < n\times k$。 请求出序列 $b$ 的逆序对个数。 定义 $b$ 中的一个逆序对 $\left(i, j\right)$ 是满足 $0 \le i < j < n\times k$ 且 $b_i > b_j$ 的元素序对。

输入

输入共两行: 第一行:两个正整数 $n$ 和 $k$,分别表示 $a$ 的长度和重复次数。 第二行:$n$ 个正整数 $a_0, a_1, \cdots, a_{n-1}$。

输出

输出一个整数:表示重复序列 $b$ 中逆序对个数。

样例输入输出

输入#1 复制
3 3
7 2 5
输出#1 复制
15

提示

对于 $20\%$ 的数据,保证 $1 \le n, k \le 10$。 对于 $40\%$ 的数据,保证 $1\le n,k \le 5000$。 对于 $60\%$ 的数据,保证 $1\le n,k \le 100000$。 另有 $10\%$ 的数据,保证 $\forall 0 \le i \le n - 1, a_i = n$。 对于 $100\%$ 的数据,保证 $1\le n, a_i \le 5000, 1 \le k \le 1000000$。 样例1说明:原序列重复后为{7,2,5,7,2,5,7,2,5},逆序对数量为15
序号 标题 作者 发表时间 费用 订购数 操作