def diaodu(time,m):
    """将各个任务分配到m台机器上,任务花费时间列表已汇总至time中,返回分配后的最小时间"""
    tmp=[0 for _ in range(m)] #初始化每个机器上花费的时间为0
    if len(time)<=m:
        #如果任务数小于等于机器数,就每个任务分配一个机器,返回其耗费最大时间的机器即为最大时间
        return max(time)
    else:
        #任务数大于机器数
        #先将最大耗时任务依次分配给机器
        time.sort(reverse=True)
        print(time)
        tmp[:m]=time[:m] #先分配前m个任务,后m个任务为time[m:]
        for t in time[m:]:#对剩下的每个任务耗时t
            min_index=tmp.index(min(tmp)) #找到tmp时长最小的索引,将t加入此机器
            tmp[min_index]+=t
        return max(tmp) #返回耗时最长的机器的时间
    
time=[30,26,10,35]
m=3
print("总耗时:",diaodu(time,m))