4.2.3 Job Processing 工序安排
提交数: 17, 通过率: 29.41%, 平均分: 29.41
题目描述:
一家工厂的流水线正在生产一种产品,这需要两种操作:操作A和操作B。每个操作只有一些机器能够完成。
上图显示了按照下述方式工作的流水线的组织形式。A型机器从输入库接受工件,对其施加操作A,得到的中间产品存放在缓冲库。B型机器从缓冲库接受中间产品,对其施加操作B,得到的最终产品存放在输出库。所有的机器平行并且独立地工作,每个库的容量没有限制。每台机器的工作效率可能不同,一台机器完成一次操作需要一定的时间。
给出每台机器完成一次操作的时间,计算完成A操作的时间总和的最小值,和完成B操作的时间总和的最小值。
输入格式:
第一行 三个用空格分开的整数:N,工件数量 (1<=N<=1000);M1,A型机器的数量 (1<=M1<=30);M2,B型机器的数量 (1<=M2<=30)。
第二行…等 M1个整数(表示A型机器完成一次操作的时间,1..20),接着是M2个整数(B型机器完成一次操作的时间,1..20)
输出格式:
只有一行。输出两个整数:完成所有A操作的时间总和的最小值,和完成所有B操作的时间总和的最小值(A操作必须在B操作之前完成)。
样例输入:
5 2 3 1 1 3 1 4
样例输出:
3 5
提示:
这道题贪心
开始从前往后贪,根据完成时间选择加工每件物品的机器(完成时间=等待时间+加工时间)
然后第二问从后往前贪,让最后一个完成操作A的物品 用效率最高的机器完成操作B
时间限制: 1000ms空间限制: 256MB
来源: UASCO4-ioi1996