#RB26CJ102. 张老师的中位数价值

张老师的中位数价值

题目描述

一个序列的中位数的定义为:将这个序列 从小到大 排序后,位于中间位置的数就是中位数,有以下两种情况:

  • 当序列包含 奇数 个数字时候,中间的那个数字 即为中位数,例如 [1,2,3,4,5][1,2,3,4,5] 的中位数是 33
  • 当序列包含 偶数 个数字时候,中间两个数字的平均值(向下取整) 即为中位数,例如 [1,2,3,4,5,6][1,2,3,4,5,6] 的中位数是 (3+4)/2=3(3+4)/2=3

现在张老师给定了一个长度为 nn 的序列,分别为 a1,a2,a3…ana_1,a_2,a_3 \dots a_n

特别的,本题中 aa 序列的每个元素只会是 00 或 11。

张老师希望将这个序列进行分割,分割成若干连续的区间(长度至少为 11)

而一种分割方案的价值为分割出所有区间的中位数之和

张老师想知道在所有不同的方案中,最小价值和最大价值分别是多少?

输入格式

本题包含多组测试数据

输入第一行包含一个整数 TT 表示有 TT 组测试数据

对于每组测试数据:

第一行一个整数 nn 表示序列长度

第二行包含 nn 个整数,a1,a2,a3…ana_1,a_2,a_3 \dots a_n

输出格式

对于每组测试数据,输出一行包含两个整数,分别表示最小价值和最大价值,中间用空格隔开

样例 1

2
3
0 1 1
4
0 1 0 1
1 2
0 2

样例解释

对于第一组数据共有 44 种划分方法:

  1. [0], [1], [1],此时的中位数分别为:0,1,10, 1, 1,数组的价值为 0+1+1=20 + 1 + 1 = 2
  2. [0, 1], [1],此时的中位数分别为:(0+1)/2=0,1(0+1)/2=0, 1,数组的价值为 0+1=10 + 1 = 1;
  3. [0], [1, 1],此时的中位数分别为:0,(1+1)/2=10, (1+1)/2=1,数组的价值为 0+1=10 + 1 = 1;
  4. [0, 1, 1],此时的中位数是 11,数组的价值为 11。

其中最小价值为 11,最大价值为 22

数据范围

测试点 TT nn 特殊性质
1∼61 \sim 6 =1= 1 ≤10\leq 10 无
7∼87 \sim 8 =10= 10
99 ≤1000\leq 1000 ai=0a_i=0
1010 ai=1a_i=1
1111 aa 序列单调不降
1212 aa 序列单调不升
1313 奇数项为 00,偶数项为 11
1414 奇数项为 11,偶数项为 00
15∼2015 \sim 20 无

特别的,对于所有数据满足: aa 序列仅包含 00 和 11