Problem2131--双倍经验药水

2131: 双倍经验药水

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 568  Solved: 371
[Status] [Submit] [Creator:]

Description

编程虎在玩游戏,游戏中有 n 个怪。编程虎要依次打败这些怪,打败一个怪能够获得对应的经验值,已知打败第 i 个怪能够获得的经验值是 Ai 。

编程虎的游戏角色有一个经验药水,对角色使用经验药水,能够使其在打败接下来的连续 m 个怪获得的经验翻倍(也就是在经验药水有效期内,打败第 i 个怪获得的经验将变为 2 × Ai)。

已知编程虎必须按顺序打败每头怪(即先打败第 1 头怪,然后再打败第 2 头怪,……,最后打败第 n 头怪),并且编程虎的角色必定能打败所有的怪。且编程虎可以在任意时刻使用经验药水,但是经验药水只能只有一次。

问:编程虎能够获得的最大经验值之和是多少?

Input

输入的第一行包含两个整数 n 和 m,以一个空格分隔(1 ≤ m ≤ n ≤ 1000)。

输入的第二行包含 n 个整数 A1, A2, ……, An,两两之间以一个空格分隔,表示打败每一头怪能够获得的经验值(1 ≤ Ai ≤ 1000)。

Output

输出一个整数,表示使用一瓶经验药水的情况下能够获得的最大经验值之和。

Sample Input Copy

6 2
2 6 1 5 3 4

Sample Output Copy

29

HINT

【样例解释】
在打第 4 头怪之前服用经验药水,这样打第 4、5 头怪能够获得的经验值将翻倍,对应的经验值之和为 2 + 6 + 1 + 5 × 2 + 3 × 2 + 4 = 29 。
【数据规模与约定】
· 对于 30% 的数据,1 ≤ m ≤ n ≤ 10, 1 ≤ Ai ≤ 10
· 对于 60% 的数据,1 ≤ m ≤ n ≤ 100, 1 ≤ Ai ≤ 100
· 对于 100% 的数据,1 ≤ m ≤ n ≤ 1000, 1 ≤ Ai ≤ 1000

Source/Category