流水线
标题:流水线 | 时间限制: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