2023.04.08-春招-第三题-玩具打包

在线评测链接:P1168

题目内容

塔子哥开的玩具店生意越来越好,每天都有很多客人前来选购玩具。有一天,他接到了一个大单,客户想购买 n 个玩具,并且要求打包成多个玩具袋。塔子哥精心为客户挑选了 n 个玩具,并且将它们编号为 1,2,…,n。

然而,塔子哥发现这个订购单还有一个要求:每个玩具袋最多只能装 m 个玩具,并且同一个玩具袋里装的玩具编号必须是连续的。玩具袋的成本与容积成线性关系。

为了解决这个问题,他决定采用样本中点估计的方法来计算玩具袋的容积。具体来说,如果一个玩具袋中装的最大的玩具容积是 u,最小的是 v,那么这个玩具袋的成本就是k*floor((u+u)/2)+s,其中 k 是玩具袋中装入玩具的个数,s 是一个常数, floor(x) 是下取整函数,比如 floor(3.8)=3 , floor(2)=2

客户并没有规定玩具袋的数量,但是希望玩具袋的成本越小越好,毕竟买玩具就很贵了。请求出塔子哥打包这 n 个玩具所用的最小花费。

输入描述

第一行三个正整数 n,m,s 。意义如题面所示

第二行 n 个正整数a_1,a_2,...,a_n ,表示每个玩具的体积。

对于全部数据, 1 \leq n \leq1 \leq m \leq 10_3m \leq n1 \leq a_is \leq 10_4

输出描述

输出一个整数,表示打包这 n 个玩具玩具袋的最小成本。

样例

输入

6 4 3
1 4 5 1 4 1

输出

21

样例解释

前三个玩具装成一个玩具袋,后三个玩具装成一个玩具袋。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值