#p1161. 例题7.2.3 跑步

例题7.2.3 跑步

问题描述

奶牛们打算通过锻炼来培养自己的运动细胞,作为其中的一员,贝茜选择的运动方式是每天进行晨跑。为了优化她的晨跑计划,贝茜需要根据自己的体力和疲劳度来决定何时跑步和休息。

晨跑规则

  • 每天晨跑时间为 N 分钟 (1 <= N <= 10,000)。
  • 在每分钟开始时,贝茜可以选择下一分钟是用来跑步还是休息。
  • 如果贝茜选择在第 i 分钟跑步,她可以在这一分钟内跑 D_i 米 (1 <= D_i <= 1,000),并且她的疲劳度会增加 1。
  • 贝茜的疲劳度不能超过 M (1 <= M <= 500)。
  • 如果贝茜选择休息,那么她的疲劳度会每分钟减少 1,但她必须休息到疲劳度恢复到 0 为止。
  • 晨跑开始时,贝茜的疲劳度为 0。
  • 在 N 分钟的锻炼结束时,贝茜的疲劳度也必须恢复到 0。

请计算,在满足所有限制条件的情况下,贝茜最多能跑多少米。

输入格式

  • 第 1 行: 2 个用空格隔开的整数:N 和 M。
  • 第 2..N+1 行: 第 i+1 行为 1 个整数:D_i。

输出格式

  • 第 1 行: 输出 1 个整数,表示贝茜能跑的最大距离。

示例

输入样例 (cowrun.in)

5 2
5
3
4
2
10

输出样例 (cowrun.out)

9

解释

贝茜在第 1 分钟内选择跑步(跑了 5 米),在第 2 分钟内休息,在第 3 分钟内跑步(跑了 4 米),剩余的时间都用来休息。因为在晨跑结束时贝茜的疲劳度必须为 0,所以她不能在第 5 分钟内选择跑步。