题目描述:
一个工厂有m条流水线,来并行完成n个独立的作业,该工厂设置了一个调度系统,在安排作业时,总是优先执行处理时间最短的作业。
现给定流水线个数m,需要完成的作业数n, 每个作业的处理时间分别为t1,t2…tn。请你编程计算处理完所有作业的耗时为多少?
当n>m时,首先处理时间短的m个作业进入流水线,其他的等待,当某个作业完成时,依次从剩余作业中取处理时间最短的进入处理。
输入描述:第一行为2个整数(采用空格分隔),分别表示流水线个数m和作业数n;
第二行输入n个整数(采用空格分隔),表示每个作业的处理时长t1,t2…tn。
0< m,n<100,0<t1,t2…tn<100。
注:保证输入都是合法的。
输出描述:
输出处理完所有作业的总时长
补充说明:
收起
示例1
输入:
3 5 8 4 3 2 10输出:
13说明:
1、先安排时间为2、3、4的3个作业。
华为OD机试真题-流水线-2023年OD统一考试(B卷)
最新推荐文章于 2024-10-06 20:16:20 发布
本文介绍了一道华为OD机试题目,涉及流水线作业调度问题。当有m条流水线处理n个作业,优先选择处理时间最短的作业执行。当n>m时,前m个作业先进入流水线,完成后依次补入最短处理时间的作业。题目要求计算完成所有作业的总耗时。解题关键在于使用数组和队列进行编程实现。
摘要由CSDN通过智能技术生成