python
2025-05-24 13:07:00
发布于:甘肃
1阅读
0回复
0点赞
n, m = map(int, input().split())
w = list(map(int, input().split()))
if n <= m:
print(max(w))
else:
# 初始化前m个水龙头
taps = wm
remaining = w[m:]
time = 0
while True:
# 找出当前所有水龙头中的最小值
min_time = min(taps)
time += min_time
# 更新所有水龙头的剩余时间
taps = [t - min_time for t in taps]
# 处理所有刚好完成的水龙头
for i in range(m):
if taps[i] == 0:
if remaining:
taps[i] = remaining.pop(0)
else:
taps[i] = float('inf') # 标记为已完成
# 检查是否所有同学都完成了
if not remaining and all(t == float('inf') for t in taps):
break
print(time)
这里空空如也
有帮助,赞一个