设有一个长度为 LLL 的钢条,在钢条上标有 nnn 个位置点 p1,p2,⋯ ,pnp_1,p_2,\cdots,p_np1,p2,⋯,pn。现在需要按钢条上标注的位置将钢条切割为 n+1n+1n+1 段,假定每次切割所需要的代价与所切割的钢条长度成正比。请编写一个算法,能够确定一个切割方案,使切割的总代价最小。
注意:此题目数据范围增大至 10510^5105。为了减小实现难度,如果有多种最优答案,任意输出一种即可
第一行两个整数 nnn,LLL
第二行 nnn 个整数 p1,p2,⋯ ,pnp_1, p_2, \cdots, p_np1,p2,⋯,pn
第一行一个整数,表示最小切割代价
第二行 nnn 个整数,其中第 iii 个整数 xix_ixi 表示第 iii 次切割点的索引值,xi=1,2,⋯ ,nx_i = 1, 2, \cdots, nxi=1,2,⋯,n
如果有多种最优答案,任意输出一种即可
输入样例 1:
4 10 3 4 7 9
输出样例 1:
23 2 1 3 4