level 1
FinkyS
楼主
小明在超市购买了n个商品,每个商品有一个正的价格x。超市的计价规则如下:
对于单个商品或合并后的商品:
如果价格x < 1,则向上取整为1
如果价格x ≥ 1,则四舍五入取整 (如2.4算作2 2.5算作3)
在计价前,你可以进行任意次数的商品合并操作。合并操作是将两个相邻的商品价格相加,合并后的商品可以继续参与合并
你的目标是通过合理的合并操作,使得所有商品计价后的总金额最小,并输出具体的合并方案。
输入格式
第一行包含一个整数n (1 ≤ n ≤ 500),表示商品的数量
第二行包含n个实数x₁, x₂, ..., xₙ (0 < xᵢ ≤ 1000) (x最多5位小数),表示每个商品的价格
输出格式
第一行输出一个整数,表示通过最优合并后得到的最小总金额
第二行开始输出合并方案,每一行代表合并在一起计价的商品下标(下标从1开始)
样例输入1
5
2.76 1.68 2.77 1.95 0.8
样例输出1
9
1 3 4
2 5
2025年06月10日 07点06分
1
对于单个商品或合并后的商品:
如果价格x < 1,则向上取整为1
如果价格x ≥ 1,则四舍五入取整 (如2.4算作2 2.5算作3)
在计价前,你可以进行任意次数的商品合并操作。合并操作是将两个相邻的商品价格相加,合并后的商品可以继续参与合并
你的目标是通过合理的合并操作,使得所有商品计价后的总金额最小,并输出具体的合并方案。
输入格式
第一行包含一个整数n (1 ≤ n ≤ 500),表示商品的数量
第二行包含n个实数x₁, x₂, ..., xₙ (0 < xᵢ ≤ 1000) (x最多5位小数),表示每个商品的价格
输出格式
第一行输出一个整数,表示通过最优合并后得到的最小总金额
第二行开始输出合并方案,每一行代表合并在一起计价的商品下标(下标从1开始)
样例输入1
5
2.76 1.68 2.77 1.95 0.8
样例输出1
9
1 3 4
2 5