Expected Median
PDF 视图问题描述
Arul 有一个长度为 的二进制数组
。
他将取出该数组的所有长度为 (
为奇数)的子序列
,并找出它们的中位数
。
所有这些值的总和是多少?
由于这个总和可能非常大,请输出它对 取模的结果。换句话说,输出这个总和除以
的余数。
二进制数组是仅由零和一组成的数组。
如果数组
可以通过从数组
中删除若干(可能为零个或全部)元素得到,则
是
的一个子序列。子序列不必是连续的。
长度为奇数
的数组的中位数是排序后第
个元素。
输入
第一行包含一个整数 (
)——测试用例的数量。
每个测试用例的第一行包含两个整数 和
(
,
为奇数)——分别为数组的长度和子序列的长度。
每个测试用例的第二行包含 个整数
(
)——数组的元素。
保证所有测试用例的 之和不超过
。
输出
对于每个测试用例,输出对 取模后的总和。
样例输入
8
4 3
1 0 0 1
5 1
1 1 1 1 1
5 5
0 1 0 1 0
6 3
1 0 1 0 1 1
4 3
1 0 1 1
5 3
1 0 1 1 0
2 1
0 0
34 17
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
样例输出
2
5
0
16
4
7
0
333606206
说明
在第一个测试用例中,数组 的长度为
的子序列有四个:
:中位数
。
:中位数
。
:中位数
。
:中位数
。
结果之和为 。
在第二个测试用例中,所有长度为 的子序列的中位数都是
,所以答案是
。
评论