#agc023e. [agc023_e]Inversions
[agc023_e]Inversions
题目描述
Snuke 有一个整数序列 ,其长度为 。他喜欢满足以下条件的置换 ,:
- 对于所有 (),有 。
Snuke 对满足这个条件的置换的逆序数很感兴趣。求满足条件的所有置换的逆序数之和。由于结果可能非常大,计算结果模 。
注解
长度为 的序列 的_逆序数_是对于所有整数对 (),满足 的个数。
约束条件
- ()
- 输入中的所有值都是整数。
输入格式
从标准输入读入数据,格式如下:
输出格式
输出满足条件的所有置换的逆序数之和。
示例输入 1
3
2 3 3
示例输出 1
4
有四个满足条件的置换:,, 和 。这些置换的逆序数分别为 ,, 和 ,因此总和为 。
示例输入 2
6
4 2 5 1 6 3
示例输出 2
7
只有一个满足条件的置换 。这个置换的逆序数是 ,因此答案是 。
示例输入 3
5
4 4 4 4 4
示例输出 3
0
没有满足条件的置换。
示例输入 4
30
22 30 15 20 10 29 11 29 28 11 26 10 18 28 22 5 29 16 24 24 27 10 21 30 29 19 28 27 18 23
示例输出 4
848414012