FastPrepFastPrep
Problem Brief

Minimum Total Weight

INTERNOA

There are n chocolates and the weight of the chocolates is given as an array of integers weights[n], where weights[i] denote the weight of the ith chocolate. Every day, one can pick one chocolate, eat half of it, and put the remaining half back. Find the minimum possible total weight of the remaining chocolates after d days. Note that one can eat the same chocolate multiple times. The weight of the part eaten can be calculated as floor(weights[i]/2).

Function Description

Complete the function findMinWeight in the editor below.

findMinWeight has the following parameters:

  1. int weights[n]: an array of integers representing weights of chocolates, indexed 0 to n-1
  2. int d: an integer representing the number of days

Returns

int: the minimum total weight of chocolates after d days.

𓆝﹏𓊝﹏🫧A heartfelt thank you to A 🐳﹏⋆。°

1Example 1

Input
weights = [30, 20, 25], d = 4
Output
31
Explanation
Example 1 illustration
Day Weight of the chocolate picked Weight eaten Remaining weight Result
  1. 1 20 10 10 [30,10,25]
  2. 2 25 12 13 [30,10,13]
  3. 3 30 15 15 [15,10,13]
  4. 4 15 7 8 [8, 10, 13]
The total weight of chocolates on day 4 is 8 + 10 + 13, which is the minimum possible weight after 4 days.

2Example 2

Input
weights = [2], d = 1
Output
1
Explanation
On day 1, eat the chocolate with weight 2, and the remaining weight becomes 1. The array becomes [1], with the sum of weights 1.

3Example 3

Input
weights = [2, 3], d = 1
Output
4
Explanation
On day 1, pick either of the chocolates:
  • chocolate with weight 2, weights' = [1, 3], with a total weight of 4.
  • chocolate with weight 3, weights' = [2, 2], with a total weight of 4.

Constraints

Limits and guarantees your solution can rely on.

  • 1 ≤ n ≤ 10^5
  • 1 ≤ weights[i] ≤ 10^4 (where 0 ≤ i < n)
  • 1 ≤ d ≤ 2*10^6
  • public int findMinWeight(int[] weights, int d) {
      // write your code here
    }
    
    Input

    weights

    [30, 20, 25]

    d

    4

    Output

    31

    Sign in to submit your solution.