把每位法师第 k 次吸收水晶看成一个“吸收槽位”。
对于初始能量为 a[i] 的法师:
第 1 个槽位代价是 1×a[i]
第 2 个槽位代价是 2×a[i]
在一个魔法世界中,有 n 位法师和 m 个魔法水晶。每位法师都有一定的初始能量值,每个水晶也蕴含着基础的魔法能量。法师可以通过吸收水晶来提升自己的能量,但水晶的实际加成效果会受到法师初始能量的影响——法师初始能量越高,水晶提供的能量加成越少。
初始状态:第 i 位法师的初始能量值为 a[i],第 j 个水晶的基础能量为 b[j]。
能量吸收规则:当一个基础能量为 b[j] 的水晶被分配给初始能量值为 a[i] 的法师时,并且这次分配是该法师个人吸收的第 k 个水晶(k 从 1 开始计数),该法师实际增加的能量值为: b[j]−(k∗a[i])。
如果计算结果 ≤0,则该法师无法从此水晶获得任何能量,自身能量也不会减少。
使用限制:每位法师可以吸收多个水晶,也可以不吸收,但每个水晶只能使用一次。
目标:合理分配所有水晶,使分配后所有法师的能量之和达到最大。
第一行:两个整数 n 和 m,空格分隔,表示 n 位法师,m 个魔法水晶。
第二行:空格分隔的n个整数,表示每位法师的初始能量 a[1],a[2],...,a[n]。
第三行:空格分隔的m个整数,表示每个水晶的基础能量 b[1],b[2],...,b[m]。
输入约束: 1≤n≤105 1≤m≤105 1≤a[i]≤105 1≤b[j]≤105
一个整数,表示分配水晶后所有法师增加的能量之和的最大值。
输入
2 3
5 100
20 15 10
输出
20
说明
第一个水晶(魔法能量20),分配给第一个法师(能量值5),增加能量为20−(1∗5)=15 第二个水晶(魔法能量15),应该分配给第一个法师,增加的能量为15−(2∗5)=5,合计20;第三个水晶分配后收益≤0,不计入总和。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册