#5037. Problem 3. Smaller Averages
0
Problem 3. Smaller Averages
Problem 3. Smaller Averages
USACO 2024 US Open Contest, Gold
Bessie 有两个长度为 的数组()。第一个数组的第 个元素为 (),第二个数组的第 个元素为 ()。
Bessie 希望将两个数组均划分为若干
非空
子数组,使得以下条件成立。
- 每个元素恰属于 1 个子数组。
- 两个数组划分为相同数量的子数组。令第一个和第二个数组被划分为的子数组数量为 (即,第一个数组被划分为恰好 个子数组,第二个数组被划分为恰好 个子数组)。
- 对于所有 ,第一个数组左数第 个子数组的平均值小于或等于第二个数组左数第 个子数组的平均值。
计算她有多少种方式在满足限制的情况下将两个数组划分为非空子数组,对 取模。两种划分方式被认为是不同的,如果子数组的数量不同或是某个元素属于不同的子数组。
输入格式(从终端 / 标准输入读入):
输入的第一行包含 。
第二行包含 。
第三行包含 。
输出格式(输出至终端 / 标准输出):
输出在满足限制的情况下将两个数组划分为非空子数组的方法数模 的余数。
输入样例:
2 1 2 2 2
输出样例:
2
两种合法的方法为:
- 将第一个数组划分为 ,第二个数组划分为 。
- 将第一个数组划分为 ,第二个数组划分为 。
输入样例:
3 1 3 2 2 2 2
输出样例:
3
三种合法的方法为:
- 将第一个数组划分为 ,第二个数组划分为 。
- 将第一个数组划分为 ,第二个数组划分为 。
- 将第一个数组划分为 ,第二个数组划分为 。
输入样例:
5 2 5 1 3 2 2 1 5 2 2
输出样例:
1
唯一合法的方法是将第一个数组划分为 ,第二个数组划分为 。
输入样例:
7 3 5 2 3 4 4 1 5 3 5 3 3 4 1
输出样例:
140
测试点性质: 测试点 5-6:。测试点 7-9:。测试点 10-17:。测试点 18-20:。
供题:Alex Liang