你有一个长度为 n 的数组 a ,游游定义了两个数组上的函数: −f(a)=a1+a2+…+am (即数组中所有数字的和,其中 m 为数组长度); −g(a)=a1∣a2∣…∣am (即数组中所有数字的按位或值)。 现在,游游希望你将 a 分割成恰好两个非空的数组 b 和 c ,以最小化 ∣f(b)−g(c)∣的值。
题面描述
游游有一个长度为 n 的数组 a。定义两个函数:
f(a)=a1+a2+⋯+am(数组所有元素之和,其中 m 为数组长度);
g(a)=a1∣a2∣⋯∣am(数组所有元素的按位或)。
现将数组 a 恰好分割成两个非空数组 b 和 c,要求最小化