当前位置:   article > 正文

【华为OD机试 C卷】机器人仓库搬砖_华为od c卷

华为od c卷

  题目描述

机器人搬砖,一共有N堆砖存放在N个不同的仓库中,第i堆砖中有bricks[i]块砖头,要求在8小时内搬完。机器人每小时能搬砖的数量取决于有多少能量格,机器人一个小时中只能在一个仓库中搬砖,机器人的能量格每小时补充一次且能量格只在这一个小时有效,为使得机器人损耗最小化尽量减小每次补充的能量格数 为了保障在8小时内能完成搬砖任务,请计算每小时给机器人充能的最小能量格数。

1、无需考虑机器人补充能量格的耗时,
2、无需考虑机器人搬砖的耗时;
3、机器人每小时补充能量格只在这一个小时中有效;

输入描述

第一行为一行数字 空格分割

输出描述

机器人每小时最少需要冲的能量格 ,若无法完成任务 输出-1


用例
输入    

30 12 25 8 19


输出    

15

输入    

10 12 25 8 19 8 6 4 17 19 20 30


输出    

-1

  1. import math
  2. def min_e(b, H):
  3. l, r = 1, max(b)
  4. while l < r:
  5. m = (l + r) // 2
  6. if sum(math.ceil(i/m) for i in b) > H:
  7. l = m + 1
  8. else:
  9. r = m
  10. if sum(math.ceil(i/l) for i in b) > H:
  11. return -1
  12. return l
  13. b = list(map(int, input().split()))
  14. print(min_e(b,8))

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/215582?site
推荐阅读
相关标签
  

闽ICP备14008679号