#287. 工序安排

工序安排

题目描述

一家工厂的流水线正在生产一种产品,这需要两种操作:操作 AA 和操作 BB。每个操作只有一些机器能够完成。

上图显示了按照下述方式工作的流水线的组织形式。AA 型机器从输入库接受工件,对其施加操作 AA,得到的中间产品存放在缓冲库。BB 型机器从缓冲库接受中间产品,对其施加操作 BB,得到的最终产品存放在输出库。所有的机器平行并且独立地工作,每个库的容量没有限制。每台机器的工作效率可能不同,一台机器完成一次操作需要一定的时间。

给出每台机器完成一次操作的时间,计算完成A操作的时间总和的最小值,和完成B操作的时间总和的最小值。

注:

  1. 机器在一次操作中干掉一个工件;

  2. 时间总和的意思是最晚时间点

输入格式

第一行 三个用空格分开的整数:NN,工件数量 (1N10001 \le N \le 1000);M1M1AA 型机器的数量 (1M1301 \le M1 \le 30);M2M2BB 型机器的数量 (1M2301 \le M2 \le 30)。

第二行 \dotsM1M1 个整数(表示 AA 型机器完成一次操作的时间,1201 \dots 20),接着是 M2M2 个整数(BB 型机器完成一次操作的时间,1201 \dots 20

输出格式

只有一行。输出两个整数:完成所有 AA 操作的时间总和的最小值,和完成所有 BB 操作的时间总和的最小值(AA 操作必须在 BB 操作之前完成)。

5 2 3
1 1 3 1 4
3 5