题目描述
某快递分拣中心需要分拣来自三个不同区域的包裹:红区、绿区和中转区。每个包裹都有其重要程度,分为以下三类:
- 红区包裹,共有 N 个,其重要程度分别为 A1,A2,dots,AN。
- 绿区包裹,共有 M 个,其重要程度分别为 B1,B2,dots,BM。
- 中转区包裹,共有 K 个,其重要程度分别为 C1,C2,dots,CK。
在处理之前,中转区的包裹可以重新分配到红区或绿区,分别计入红区包裹或绿区包裹。现在,分拣中心需要选择 X 个红区包裹和 Y 个绿区包裹,并确保所选包裹的重要程度之和尽可能大。请编程计算出,如何将中转区包裹重新分配到红区或绿区,才能使得所选包裹的重要程度之和最大,输出重要程度之和的最大值。
输入格式
第一行包含五个整数 X,Y,N,M,K。
第二行包含 N 个整数 A1,A2,dots,AN,表示每个红区包裹的重要程度。
第三行包含 M 个整数 B1,B2,dots,BM,表示每个绿区包裹的重要程度。
第四行包含 K 个整数 C1,C2,dots,CK,表示每个中转区包裹的重要程度。
输出格式
输出一个整数,表示在最优选择下所选包裹的重要程度之和的最大值。
样例
1 2 2 2 1
2 4
5 1
3
12
提示
包裹的重要程度之和的最大值可以通过以下方式实现:
- 分拣红区第 2 个包裹(重要程度 4)。
- 分拣绿区第 1 个包裹(重要程度 5)。
- 将中转区第 1 个包裹(重要程度 3)转移到绿区并分拣。
总和为 4+5+3=12。
数据范围
- 对于 10% 的数据:X=1,Y=1,N=1,M=1,K=1
- 对于 100% 的数据:1≤X≤N≤105,1≤Y≤M≤105,1≤K≤105,1≤Ai,Bi,Ci≤109