#P12076. [OOI 2025] Cute Subsequences

[OOI 2025] Cute Subsequences

Description

给定一个长度为 nn 的正整数数组 a1,a2,,ana_1, a_2, \ldots, a_n,以及一个正整数 kk。你需要将该数组划分为 kk 个非空子序列,使得每个元素恰好属于一个子序列。

子序列指的是从原始序列中删除若干个元素(可以为零),但不改变剩余元素的相对顺序后所得到的序列。

设第 ii 个子序列包含的是原数组中下标为 j1<<jlj_1 < \ldots < j_l 的元素。该子序列的「价值」定义为 max1ml(ajm+m)\max\limits_{1 \le m \le l}(a_{j_m} + m)

将数组划分为 kk 个子序列的「代价」是这 kk 个子序列的价值之和。

请你计算出数组在划分方案最优时所能获得的最大代价。

Input Format

第一行包含两个正整数 nnkk1kn5000001 \le k \le n \le 500\,000)—— 分别表示数组的长度以及要划分出的子序列数量。

第二行包含 nn 个正整数 a1,a2,,ana_1, a_2, \ldots, a_n1ai1091 \le a_i \le 10^9)—— 表示数组中的元素。

Output Format

输出一个整数,表示将给定数组划分为 kk 个非空子序列所能获得的最大代价。

5 3
3 7 10 1 2
24

Hint

样例解释

在样例中,可以将数组划分为 [3,10][3, 10][7][7][1,2][1, 2]。那么答案为:

(10+2)+(7+1)+(2+2)=12+8+4=24.(10 + 2) + (7 + 1) + (2 + 2) = 12 + 8 + 4 = 24.

本题的测试点共包含六个分组。只有当某个分组的所有测试点以及其依赖的所有分组测试点均通过时,才能获得该分组的分数。

Subtask 分值 限制条件:nn 限制条件:kk 依赖分组 说明
0 -- -- -- 样例测试点。
1 14 n8n \le 8 0
2 19 -- k=2k = 2 --
3 17 -- 满足 ai+1aia_{i+1} \le a_i
4 21 满足 ai+1ai1a_{i+1} \ge a_i - 1
5 15 n1000n \le 1000 0, 1
6 14 -- 0 -- 5