全都要!!!!!
题号:NC289321
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld

题目描述

\hspace{15pt}终于打开了那扇门,你们准备找个地方歇脚等待Askalana打赢复活赛,这样你们能多一些战力。
\hspace{15pt}在你休息的时候,猫猫误打误撞打开了一扇隐藏门,你发现那是一间藏宝库,闲着也是闲着,你准备带猫猫前去寻宝。
\hspace{15pt}藏宝库有 n 个格子,第 i 个格子有一个权值 a_i,当 a_i \geqq 0 时,踩上会获得 a_i 的金币,a_i < 0 时则失去 |a_i| 的金币。
\hspace{15pt}你的移动被一个六面骰所控制,但魔法猫猫可以操作骰子的读数,故你每次行动中可以前进 [1, 6] 中的任意整数格。
\hspace{15pt}初始时,你位于 0 的位置(即藏宝阁外,行动一次后进入藏宝阁),口袋中的余额为 0。你想要估算,如果你移动恰好 k 次,口袋中的余额最多为多少。

输入描述:

\hspace{15pt}第一行输入两个整数 n, k \left(7 \leqq n \leqq 10^4 ;\ 1 \leqq k \leqq \min \left\{10^3,\lfloor \tfrac n 6 \rfloor\right\}\right) 代表藏宝库长度、规定的移动次数。 
\hspace{15pt}第二行输入 n 个整数 a_1,a_2,\dots,a_n \left(-10^9 \leqq a_i \leqq 10^9\right) 代表每个格子的权值。

输出描述:

\hspace{15pt}输出一个整数,代表口袋中的最大余额。特别地,可能为负数。
示例1

输入

复制
12 2
3 -5 6 -8 -21 -7 -3 -7 1 5 6 7

输出

复制
9

说明

\hspace{15pt}在这个样例中,第一次移动 1 格,到达 1 位置,获得 3 金币。 
\hspace{15pt}第二次移动 2 格,到达 3 位置,获得 6 金币。
\hspace{15pt}因此,最多可以获得 3+6=9 金币。
示例2

输入

复制
12 2
3 -5 6 -8 -21 -7 -3 -7 1 21 69 233

输出

复制
226

说明

\hspace{15pt}在这个样例中,第一次移动 6 格,到达 6 位置,倒扣 7 金币。没办法,扣点就扣点。后面给的实在是太多了!
\hspace{15pt}第二次移动 6 格,到达 12 位置,获得 233 金币。
\hspace{15pt}因此,最多可以获得 -7+233=226 金币。