题目描述
仓库里排着 件货物,从左到右第 件的重量为 。现在要把这排货物按顺序装上 辆卡车:在相邻货物之间选 个切割位置,把整排恰好分成 段连续非空的子段,第 辆卡车装走第 段。
每辆卡车的载重上限都是 ,因此每一段的重量之和都不能超过 。
请求出满足条件的划分方案数,答案对 取模。
输入格式
第一行三个整数 ,用空格分隔。
第二行 个正整数 ,用空格分隔。
输出格式
输出一个整数,表示合法划分方案数对 取模后的结果。
样例
输入
4 2 4 1 2 1 2
输出
2
输入
3 2 8 5 5 5
输出
0
提示说明
【样例解释】
- 样例 1:要分成 段且每段和不超过 。 与 (和 )合法; 与 (和 )合法; 与 (第二段和 )不合法。共 种。
- 样例 2:只有 与 (和 )或 与 (和 )两种切法,都有一段和为 ,故方案数为 。
【数据规模与约定】
对于全部数据,满足 ,,。
| 子任务 | 测试点 | 分值 | 限制 |
|---|---|---|---|
| S1 | 1 ~ 2 | 10 | |
| S2 | 3 ~ 5 | 15 | 或 |
| S3 | 6 ~ 10 | 25 | |
| S4 | 11 ~ 14 | 20 | , |
| S5 | 15 ~ 20 | 30 | 无特殊限制 |
共 20 个测试点,每个测试点 5 分,合计 100 分。