3424. Minimum Cost to Make Arrays Identical
Medium37.7% acceptance25,034 / 66,430 submissions
Asked by 2 companies
Topics
You are given two integer arrays arr and brr of length n, and an integer k. You can perform the following operations on arr any number of times:
- Split
arrinto any number of contiguous subarrays and rearrange these subarrays in any order. This operation has a fixed cost ofk. -
Choose any element in
arrand add or subtract a positive integerxto it. The cost of this operation isx.
Return the minimum total cost to make arr equal to brr.
Example 1:
Input: arr = [-7,9,5], brr = [7,-2,-5], k = 2
Output: 13
Explanation:
- Split
arrinto two contiguous subarrays:[-7]and[9, 5]and rearrange them as[9, 5, -7], with a cost of 2. - Subtract 2 from element
arr[0]. The array becomes[7, 5, -7]. The cost of this operation is 2. - Subtract 7 from element
arr[1]. The array becomes[7, -2, -7]. The cost of this operation is 7. - Add 2 to element
arr[2]. The array becomes[7, -2, -5]. The cost of this operation is 2.
The total cost to make the arrays equal is 2 + 2 + 7 + 2 = 13.
Example 2:
Input: arr = [2,1], brr = [2,1], k = 0
Output: 0
Explanation:
Since the arrays are already equal, no operations are needed, and the total cost is 0.
Constraints:
1 <= arr.length == brr.length <= 1050 <= k <= 2 * 1010-105 <= arr[i] <= 105-105 <= brr[i] <= 105
Hints
Hint 1
What does Operation 1 (rearranging subarrays) actually accomplish?
Hint 2
Calculate
sum(abs(arr[i] - brr[i])) if you do not use Operation 1.Hint 3
Calculate
sum(abs(arr[i] - brr[i])) after sorting both arrays if you use Operation 1.