题目描述
题目描述
奶牛们打算通过锻炼来培养自己的运动细胞,作为其中的一员,贝茜选择的运动方式是每天进行 $n$ 分钟的晨跑。在每分钟的开始,贝茜会选择下一分钟是用来跑步还是休息。
贝茜的体力限制了她跑步的距离。更具体地,如果贝茜选择在第 $i$ 分钟内跑步,她可以在这一分钟内跑 $d_i$ 米,并且她的疲劳度会增加 $1$。不过,无论何时贝茜的疲劳度都不能超过 $m$。
如果贝茜选择休息,那么她的疲劳度就会每分钟减少 $1$,但她必须休息到疲劳度恢复到 $0$ 为止。在疲劳度为 $0$ 时休息的话,疲劳度不会再变动。晨跑开始时,贝茜的疲劳度为 $0$。
还有,在 $n$ 分钟的锻炼结束时,贝茜的疲劳度也必须恢复到 $0$,否则她将没有足够的精力来对付这一整天中剩下的事情。
请你计算一下,贝茜最多能跑多少米。
输入格式
输入共 $n+1$ 行。
第一行两个正整数 $n,m$。
接下来 $n$ 行,每行一个正整数 $d_i$。
输出格式
输出一个整数,表示在满足所有限制条件的情况下,贝茜能跑的最大距离。
样例输入输出
样例输入
5 2
5
3
4
2
10
样例输出
9
数据范围
对于 $100%$ 的数据,保证 $1 \le n \le 10^{4},1 \le d_i \le 1000,1 \le m \le 500$。
样例解释
贝茜在第 $1$ 分钟内选择跑步(跑了 $5$ 米),在第 $2$ 分钟内休息,在第 $3$ 分钟内跑步(跑了 $44$ 米),剩余的时间都用来休息。
因为在晨跑结束时贝茜的疲劳度必须为 $0$,所以她不能在第 $5$ 分钟内选择跑步。
最终跑的总距离为 99。
来源/分类
动态规划 完全背包 USACO 2008