#ABC150E. Change a Little Bit
Change a Little Bit
题目描述
For two sequences and of length consisting of and , let us define as follows:
-
Consider repeating the following operation on so that will be equal to . is the minimum possible total cost of those operations.
- Change (from to or vice versa). The cost of this operation is , where is the number of integers such that just before this change.
There are pairs of different sequences of length consisting of and . Compute the sum of over all of those pairs, mod .
对于由 和 组成的长度为 的两个序列 和 ,我们可以这样定义 :
考虑在 上重复以下操作,使 等于 。 是这些操作可能的最小总成本。
- 将 (从 改为 ,反之亦然)。此操作的成本为 ,其中 是在此操作之前有 的整数 的个数。
有 对长度为 的不同序列 由 和 组成。计算所有这些序列对中 的和,模为 。
输入格式
输入内容按以下格式标准输入:
输出格式
打印 的和,取模 .
样例 #1
样例输入 #1
1
1000000000
样例输出 #1
999999993
样例 #2
样例输入 #2
2
5 8
样例输出 #2
124
样例 #3
样例输入 #3
5
52 67 72 25 79
样例输出 #3
269312
说明
数据规模与约定
- 所有输入值均为整数。
样例 解释
有两对长度为 的不同序列 ,分别由 和 组成,如下所示:
- 将 中的 改为 ,可以得到 ,代价是 ,所以是 。
- 将 改为 ,可以得到 ,代价是 ,所以是 。
这些值的总和是 ,我们应该打印出它的模数 ,即 。
样例 解释
有 对长度为 的不同序列 由 和 组成,其中包括
在这种情况下,如果我们先将 改为 ,然后再将 改为 ,则总成本为 。我们不可能以更小的代价得到 ,所以是 。