流水线

标题:流水线 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限
一个工厂有m条流水线,来并行完成n个独立的作业,该工厂设置了一个调度系统,在安排作业时,总是优先执行处理时间最短的作业
现给定流水线个数m,需要完成的作业数n, 每个作业的处理时间分别为t1,t2…tn。请你编程计算处理完所有作业的耗时为多少?
当n>m时,首先处理时间短的m个作业进入流水线,其他的等待,当某个作业完成时,依次从剩余作业中取处理时间最短的进入处理。 


while True:
    try:
        m, n = list(map(int, input().split()))
        tasks = sorted(list(map(int,input().split())))
        pos,total = 0, 0
        task = tasks[0:m]
        for i in tasks[m:]:
            pos = task[0]
            total += pos
            task = [i - pos for i in task]
            task[0] = i
            task.sort()
        total = total + task[-1]
        print(total)
    except:
        break




全部评论

相关推荐

评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务