#1269. 【COMP350105期末实验】P5 钢条切割

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: JamesHelium

题目描述

说明

本系列题目为 2020 年为计算机试验班 91 开设的 COMP350105 “算法设计与分析” 课程之期末实验题目。 本题目的规定与要求不代表课程实验中的要求,本题目的得分不代表实验得分,本题目的数据也不代表课程期末实验的测试方式。 而且在本 OJ 上的程序正确性、效率性要求往往高于课程得分要求,但代码可读性、程序思想要求却低于课程得分要求。本题目为大家提供严谨的测试,请各位酌情根据自己能力解答。

设有一个长度为 的钢条,在钢条上标有 个位置点 。现在需要按钢条上标注的位置将钢条切割为 段,假定每次切割所需要的代价与所切割的钢条长度成正比。请编写一个算法,能够确定一个切割方案,使切割的总代价最小。

输入格式

第一行两个整数

第二行 个整数

输出格式

第一行一个整数,表示最小切割代价

第二行 个整数,其中第 个整数 表示第 次切割点的索引值,

如果有多种最优答案,输出切割索引序列逆序数最小的切割方式

样例

输入样例 1:

4 10
3 4 7 9

输出样例 1:

23
2 1 3 4

数据范围与提示