给定整数 N, M 和一个长度为 N 的非负整数序列 A=(A_1, A_2, \ldots, A_N)。
对于每个 k=0,1,\ldots,M-1,请解决以下问题:
> 定义整数序列 B=(B_1, B_2, \ldots, B_N),其中 B_i = (A_i + k) \bmod M。求序列 B 的逆序对数。
关于逆序对数的定义:
序列 (A_1, A_2, \ldots, A_N) 的逆序对数是指满足 1 \leq i < j \leq N 且 A_i > A_j 的整数对 (i, j) 的个数。
输入通过标准输入给出,格式如下:
> N M
> A_1 A_2 \ldots A_N
输出共 M 行。
第 i 行(1 \leq i \leq M)应输出 k = i - 1 时的答案。
3 3 2 1 0
3 1 1
5 6 5 3 5 0 1
7 3 3 1 1 5
7 7 0 1 2 3 4 5 6
0 6 10 12 12 10 6
- 1 \leq N, M \leq 2 \times 10^5
- 0 \leq A_i < M
- 输入中的所有值均为整数
样例解释 1
- 当 k=0 时:B=(2, 1, 0),逆序对数为 3(所有 (i,j) 对均满足条件)。
- 当 k=1 时:B=(0, 2, 1),逆序对数为 1(仅 (2,3) 满足)。
- 当 k=2 时:B=(1, 0, 2),逆序对数为 1(仅 (1,2) 满足)。
时间限制 | 1 秒 |
内存限制 | 128 MB |