#CF2075C. 双色涂色问题
双色涂色问题
C. 双色涂色问题
每个测试的时间限制:2秒
每个测试的内存限制:256 MB
Monocarp 在他的度假小屋安装了一个新的栅栏。栅栏由 块相同大小的木板排成一行组成。
Monocarp 决定按照以下规则给栅栏涂色:
- 每块木板恰好涂成一种颜色;
- 使用的不同颜色总数恰好为 种;
- 涂成相同颜色的木板必须形成连续的一段,也就是说,对于任意两块涂成相同颜色的木板,它们之间不能有涂成另一种颜色的木板。
Monocarp 有 种不同的油漆,第 种颜色的油漆最多可以涂 块木板。Monocarp 不会购买额外的油漆。
你的任务是计算满足 Monocarp 所有要求的涂色方案总数。两种涂色方案被认为是不同的,如果存在至少一块木板在两种方案中颜色不同。
输入格式
第一行包含一个整数 ()——测试用例的数量。
每个测试用例的第一行包含两个整数 和 ()——木板的数量和 Monocarp 拥有的颜色种类数。
每个测试用例的第二行包含 个整数 (),其中 是第 种颜色最多能涂的木板数量。
所有测试用例的 之和不超过 ,所有测试用例的 之和也不超过 。
输出格式
对于每个测试用例,输出满足所有要求的涂色方案总数。
输入输出样例
输入:
3
5 2
2 4
5 2
3 4
12 3
5 9 8
输出:
4
6
22
样例解释
在第一个测试用例中,共有 种不同的涂色方案(从左到右木板颜色编号的序列如下):
在第二个测试用例中,共有 种不同的涂色方案: