/ Vijos / 题库 /

DP技能

DP技能

时间限制:1秒  内存限制:256M


【题目描述】

  YS校的信竞队有 \(N\) 名学生,为突破他们的DP算法能力,H教练让他们排成一行(依次编号为 \(1..N\)),学生 \(i\) 的DP技能水平为 \(a_i\)。她们的技能水平可能参差不齐,所以H教练决定把她们分成若干小组。每一组可以包含任意不超过 \(K\) 名的连续的学生,并且一名学生不能属于多于一个小组。由于小组内会互相学习,所以同一组中每一名学生的DP技能水平会变成这一组中水平最高的学生的技能水平。

  请帮助H教练算一算,在他合理地安排分组的情况下,所有学生可以达到的DP技能水平之和的最大值。

【输入格式】

  输入的第一行包含 \(N\) 和 \(K\)。以下 \(N\) 行按照 \(N\) 名学生的排列顺序依次给出她们的DP技能水平。技能水平是一个不超过 100000 的正整数。

【输出格式】

  输出一个整数,表示可以达到的最大DP技能水平之和。

【输入输出样例】

 Input

7 3
1
15
7
9
2
5
10

 Output

84

【样例说明】

  在这个样例中,最优的方案是将前三名学生和后三名学生分别分为一组,中间的学生单独成为一组。则7名学生的技能水平提高至 15、15、15、9、10、10、10,和为 84。

【数据限制】

  - 对于 20% 的数据,有 \(N≤10\)
  - 对于 70% 的数据,有 \(N≤5000\)
  - 对于 100% 的数据,有 \(N≤10000,K≤300\)

【来源】

  Mr.he

信息

ID
3173
难度
9
分类
动态规划 点击显示
标签
(无)
递交数
2
已通过
1
通过率
50%
被复制
1
上传者