Tap here to switch tabs
Problem
Ask
Submissions

Problem: Put Marbles in Bags

hard
40 min
Explore how to distribute marbles into k bags following specific constraints to calculate score differences. This lesson helps you grasp sorting and searching techniques like binary search and two-pointer approaches to efficiently solve partitioning problems in coding interviews. Practice implementing solutions to improve your problem-solving skills within the Sort and Search pattern.

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:

  • 11 \leq k \leq weights.length 105\leq 10^5

  • 11 \leq weights[i] 109\leq 10^9

Tap here to switch tabs
Problem
Ask
Submissions

Problem: Put Marbles in Bags

hard
40 min
Explore how to distribute marbles into k bags following specific constraints to calculate score differences. This lesson helps you grasp sorting and searching techniques like binary search and two-pointer approaches to efficiently solve partitioning problems in coding interviews. Practice implementing solutions to improve your problem-solving skills within the Sort and Search pattern.

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:

  • 11 \leq k \leq weights.length 105\leq 10^5

  • 11 \leq weights[i] 109\leq 10^9