2655 切木头

该博客介绍了一道编程题目,涉及将不同长度的木棍切割成相同长度的木棍,使得总数达到m个。通过二分查找算法确定最长可能的木棍长度,确保所有木棍能被正确分割。题目给出输入限制和样例,解题思路强调在二分过程中确保总和大于等于m。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近二分思路爆表
题目描述:
有n个木棍,长度不等,现在要将他们切成同等长度的木棍m个,并且每段的长度都为整数。问这m根木棍最长能有多长?

如果分不出来,输出0。

输入
第一行2个数:n, m中间用空格分隔(1 <= n <= 100000, 1 <= m <= 10^9)
后面n行:每行1个数,对应木棍的长度(1 <= Li <= 10^9)。
输出
输出一个整数,对应木棍的长度。
输入样例
3 10
15
25
12
输出样例
5
解题思路:
首先明确一点,我们这里应当去二分长度,并且要保证每个木棍切后加起来的总值是>=m的,如果满足了,那么我们就要去考虑是否还可以将长度继续扩大,因此我们就让二分的左值等于当前的这个数
核心代码:
在这里插入图片描述
完整代码:

#incl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值