Rearranging Fruits

You have two fruit baskets containing n fruits each. You are given two 0-indexed integer arrays basket1 and basket2 representing the cost of fruit in each basket. You want to make both baskets equal. To do so, you can use the following operation as many times as you want:

  • Choose two indices i and j, and swap the i^th fruit of basket1 with the j^th fruit of basket2.
  • The cost of the swap is min(basket1[i], basket2[j]).

Two baskets are considered equal if sorting them according to the fruit cost makes them exactly the same baskets.

Return the minimum cost to make both the baskets equal, or -1 if impossible.

Example 1
Inputbasket1 = [4,2,2,2], basket2 = [1,4,1,2]
Output1
Swap index 1 of basket1 with index 0 of basket2, which has cost 1, making the baskets equal after rearranging.
Example 2
Inputbasket1 = [2,3,4,1], basket2 = [3,2,5,1]
Output-1
It can be shown that it is impossible to make both the baskets equal.

Constraints

  • basket1.length == basket2.length
  • 1 <= basket1.length <= 10^5
  • 1 <= basket1[i], basket2[i] <= 10^9

Asked at 9 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate