Search⌘ K
AI Features

Solution: Put Marbles in Bags

Explore how to distribute marbles into k bags based on their weights using sorting and search techniques. Learn to calculate the difference between maximum and minimum scores by identifying optimal cuts through pairwise sums. Understand time and space complexity considerations for an efficient solution.

Statement

You are given k bags and a 0-indexed integer array, weights, where weights[i] represents the weight of the ithi^{th} marble.

Your task is to divide the marbles into the k bags according to the following rules:

  1. No bag can be empty.

  2. If the ithi^{th} marble and the jthj^{th} marble are placed in the same bag, then all marbles with indexes between i and j (inclusive) must also be placed in that same bag.

  3. If a bag contains all the marbles from index i to j (inclusive), its cost is calculated as weights[i] + weights[j].

After distributing the marbles, the sum of the costs of all the k bags is called the score.

Return the difference between the maximum and minimum scores achievable by distributing the marbles into the k bags.

Constraints:

  • ...