某快递分拣中心需要分拣来自三个不同区域的包裹:红区、绿区和中转区。
每个包裹都有其重要程度,分为以下三类:
红区包裹,共有 N 个,其重要程度分别为 A_1, A_2, \ldots, A_N。
绿区包裹,共有 M 个,其重要程度分别为 B_1, B_2, \ldots, B_M。
中转区包裹,共有 K 个,其重要程度分别为 C_1, C_2, \ldots, C_K。
在处理之前,中转区的包裹可以重新分配到红区或绿区,分别计入红区包裹或绿区包裹。
现在,分拣中心需要选择 X 个红区包裹和 Y 个绿区包裹,并确保所选包裹的重要程度之和尽可能大。
请编程计算出,如何将中转区包裹重新分配到红区或绿区,才能使得,所选包裹的重要程度之和最大,请输出重要程度之和的最大值。
第一行包含 5 个整数,表示 X , Y , N , M , K。
第二行包含 N 个整数,表示每个红区包裹的重要程度。
第三行包含 M 个整数,表示每个绿区包裹的重要程度。
第四行包含 K 个整数,表示每个中转区包裹的重要程度。
输出一个整数,表示在最优选择下,所选包裹的重要程度之和的最大值。
1 2 2 2 1 2 4 5 1 3
12
2 2 2 2 2 8 6 9 1 2 1
25
2 2 4 4 4 11 12 13 14 21 22 23 24 1 2 3 4
74
包裹的重要程度之和的最大值可以通过以下方式实现:
有 10\% 的数据满足 X=1,Y=1,N=1,M=1,K=1。
100\% 的数据满足 1 \leq X \leq N \leq 10^5,1 \leq Y \leq M \leq 10^5,1 \leq K \leq 10^5,1 \leq A_i,B_i,C_i \leq 10^9。