时间限制:C/C++ 1秒,其他语言 2秒
空间限制:C/C++262144K,其他语言524288K
64bit IO Format:%lld
题目描述
一辆运送快递的货车,运送的快递均放在大小不等的长方体快递盒中,
为了能够装载更多的快递,同时不能让货车超载,需要计算最多能装多少个快递。
注:快递的体积不受限制,快递数最多1000个,货车载重最大50000。
输入描述:
第一行输入每个快递的重量,用英文逗号分隔,如:5,10,2,11
第二行输入货车的载重量,如:20
不需要考虑异常输入。
输出描述:
输出最多能装多少个快递,如:3
示例1:
输入
5,10,2,11
20
输出
3
说明
货车的载重量为20,最多只能放三个快递5、10、2,因此输出3
示例2:
输入
5,10,2,2,11
40
输出
5
解题思路
1.将数组升序排序,从小到大累加,和大于载重时,输出当前数的下标
2.如果所有数值的和小于货车载重,输出数组个数
考点
逻辑思维
该博客主要讨论华为在线测评(OD)中的一道算法问题,涉及如何在限定载重下最大化装载快递数量。题目要求根据输入的快递重量和货车载重,计算最多能装载多少个快递。解题方法包括对快递重量进行升序排序,然后累加直至超过货车载重。示例和解题思路也一并给出,重点考察逻辑思维能力。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



