#abc0133. [abc013_3]節制
[abc013_3]節制
问题
高橋君买了一把最先进的锁,对安全意识很高,但管理钱包却有点松懈,所以现在处于紧张的金钱状况。
高橋君的收入不稳定,下一次收入将在 天后到来。他打算在接下来的 天里尽量节约食物费用,过上节俭的生活。
起初,高橋君的饱食度为 。他每天在这 天中选择三种食物之一来吃。
- 普通的食物:花费 元,饱食度增加 。
- 简朴的食物:花费 元,饱食度增加 。(其中, 且 )
- 不吃饭:不花费任何钱,饱食度减少 。
尽管我们可以严格地节约开支,但不能因为节约过度而导致健康状况恶化,所以在这 天内,饱食度不能低于 。
那么高橋君需要多少钱才能度过这 天呢?
需要注意的是,高橋君有超人级的胃口,他的饱食度没有上限。换句话说,无论吃多少,他的饱食度都不会达到极限。
输入
输入数据从标准输入中读取,具有以下格式:
- 第一行包含两个整数 () 和 (),分别表示节俭生活的天数和开始节俭前高橋君的饱食度。
- 第二行包含五个整数 、、、、,表示三种食物的相关信息。这些整数以空格分隔。
- 对于花费,满足 。
- 对于饱食度的增减,满足 且 。
部分分
本问题设有部分分。
- 如果对所有满足 的测试用例都给出正确答案,则可得到部分分,得分为 分。
- 如果对所有满足 、、、 的测试用例都给出正确答案,则可得到部分分,得分为 分。(如果对所有满足 的测试用例也给出了正确答案,则总得分为 分)
- 如果对所有满足 的测试用例都给出正确答案,则可得到 分。
- 如果对所有测试用例都给出正确答案,则额外得到一个奖励分,得分为 分。
请注意,获得奖励分的测试用例可能导致答案超出 位整数的范围。
输出
请输出一行,表示高橋君在 天的节俭生活中,不使饱食度低于 所需的最小食物费用。
输出末尾需要换行。
示例 1
4 5
100 4 60 1 4
输出示例 1
160
例如,可以通过以下方式在 天内只花费 元来度过这段时间:
- 开始节俭生活时,高橋君的饱食度为 。
- 第一天,选择简朴的食物。花费 元,饱食度增加 ,变为 。
- 第二天不吃饭。不花费任何钱,饱食度减少 ,变为 。
- 第三天吃普通的食物。花费 元,饱食度增加 ,变为 。
- 第四天不吃饭。不花费任何钱,饱食度减少 ,变为 。
示例 2
10 1
5000 2 2000 1 300
输出示例 2
20000
在这个例子中,如果高橋君不吃一天的饭,饱食度就会减少 。因此,他每天都必须吃饭。
通过连续 天吃简朴的食物,需要花费 元,这样是最省钱的。
示例 3
9 23
170 8 120 5 12
输出示例 3
650
示例 4
653 314159
6728 123456 5141 41928 222222
输出示例 4
2818162
请注意,这个例子不满足 的部分分要求,也不满足 、、、 的部分分要求。