‹ 上一题 下一题 ›

j06625. 冲刺·合法划分 未做

2000 ms 128 MB 测试点 20 通过率 25% J·算法其他池题前缀和优化DP一维动态规划
文件读写输入SplitWays.in输出SplitWays.out

题目描述

仓库里排着 件货物,从左到右第 件的重量为 。现在要把这排货物按顺序装上 辆卡车:在相邻货物之间选 个切割位置,把整排恰好分成 段连续非空的子段,第 辆卡车装走第 段。

每辆卡车的载重上限都是 ,因此每一段的重量之和都不能超过 。

请求出满足条件的划分方案数,答案对 取模。

输入格式

第一行三个整数 ,用空格分隔。

第二行 个正整数 ,用空格分隔。

输出格式

输出一个整数,表示合法划分方案数对 取模后的结果。

样例

输入
4 2 4
1 2 1 2
输出
2

提示说明

【样例解释】

  • 样例 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 分。

输入
输出

            
答案