PTA 自助扫码 题解

本文探讨了在自助收银机场景下,如何优化顾客结账流程以减少总耗时。通过实例解释了当每台机器都有顾客使用时,如何选择下一个顾客的最佳结账策略,并给出了相应的算法思路和代码实现。
摘要由CSDN通过智能技术生成

描述:

        

扫码支付如今已普及应用在大型超市,街边小贩等多个消费支付的场景,刷脸支付也在商超零售场景逐渐应用,很多的大型超市引进自助收银系统,实现自助结账应用。

已知某超市有自助收银机m台,每件商品扫码时间都相等,均为1秒,现有n个顾客准备结账,初始顺序已经确定为1-n,编号i号顾客购买的商品件数为ci,当其中某名顾客扫完所有商品后,下一名排队等候付款的顾客马上使用刚空闲的这台自助收银机,即忽略支付时间和自助收银机换人的时间开销,则所有顾客完成结账需要多少时间?

输入格式:

输入第一行为两个正整数n和m(1 ≤ n ≤ 10000,1 ≤m≤ 20),中间用一个空格隔开,分别表示待结账顾客人数和自助收银机台数。 第二行n个整数c1、c2、…、cn(1 ≤ci≤ 100),每两个整数之间用一个空格隔开,ci表示i号顾客购买的商品件数。

输出格式:

输出只有一个正整数,即所有顾客完成结账的总时间。

输入样例1:

5 3
4 4 1 2 1

输出样例1:

4

输入样例2:

8 4
23 71 87 32 70 93 80 76

输出样例2:

163

样例1说明:

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值