题目
思路
- 无巧不成题,本题中题目已经很好的排除了体力值小于Ci的情况,所以我们的思路就是只需要尽可能地在每天都用完整的体力来处理材料,就可以在较短的时间内完成收集。
代码
def min_days_to_collect_materials(N, W, materials):
# 计算总体力需求,假设每天都使用完整的体力来收集材料
total_w = sum(materials)
min_days = (total_w +W-1 ) // W
# 至少需要的天数为需要的总体力除以每天的体力限制
return min_days
if __name__ == "__main__":
N, W = map(int, input().split())
materials = [int(input()) for _ in range(N)]
result = min_days_to_collect_materials(N, W, materials)
print(result)