文本替换

时间限制: 6000 ms 内存限制: 131072 kb
总通过人数: 0 总提交人数: 0

题目描述

给定 $n$ 个字符串,第 $i$ 个字符串为 $ABB\cdots BB$ (共 $k_i$ 个 $B$ )。每次可以执行操作: $\text{op } t$ ,表示将所有的字符串中 $ABB\cdots BB$ (共 $t$ 个 $B$ )替换成 $A$ 。问,至少需要多少步操作可以将所有字符串替换成 $A$ ,以及在最小的步数下有多少种方案,方案数对 $10^9 + 7$ 取模。两个方案不同当且仅当存在某一步 $t$ 不相同。

输入

第一行包含一个正整数 $T$ ,表示有 $T$ 组测试数据。

接下来依次给出每组测试数据。对于每组测试数据:

第一行包含一个正整数 $n$ 。

第二行包含 $n$ 个整数 $k_1, k_2, \cdots, k_n$ 。

保证在一行中的每个整数之间有恰好一个空格,没有其他额外的空格。

$1 \leq T \leq 10, 1 \leq n \leq 1000, 1 \leq k_i \leq 50$

输出

对于每组数据输出一行,包含两个整数,表示最少的操作次数和方案数对 $10^9 + 7$ 取模的值。

对于本题,输出中在一行的每个整数之间用恰好一个空格隔开,不能有其他额外空格。

输入样例

3
3
1 3 9
3
1 2 3
3
1 1 1

输出样例

3 20
2 1
1 1

样例解释

对于第二组样例,唯一的最优方案为先进行 $\text{op } 2$ 再进行 $\text{op } 1$ 。


Author: chffy

相关推荐