You have a serial pipeline of services. Service i has base throughput throughputs[i] and scaling cost costs[i].
If you scale service i by a non-negative integer x, its throughput becomes throughputs[i] * (1 + x) and the scaling cost is x * costs[i].
Because the pipeline is serial, the overall throughput equals the minimum service throughput after scaling. Given a total budget, compute the maximum achievable overall throughput.
Complete the function maximizePipelineThroughput in the editor below.
maximizePipelineThroughput has the following parameters:
int[] throughputs: base service throughputsint[] costs: scaling costs per extra multiplelong budget: the total scaling budget
Returns
long: the maximum achievable pipeline throughput.
throughputs = [5, 2, 4] costs = [3, 10, 2] budget = 0 return = 2
With no budget, the pipeline throughput is the minimum base throughput, which is 2.
throughputs = [5, 2, 4] costs = [3, 10, 2] budget = 20 return = 4
Spending the full budget can raise the bottleneck service from 2 to 4, but not to 5.
1 <= throughputs.length == costs.length <= 2 * 10^51 <= throughputs[i], costs[i] <= 10^90 <= budget <= 10^18
- Total Palindrome Substring CostOA · Seen Jun 2026
- Earliest Time All Users Are ConnectedPHONE SCREEN · Seen May 2026
- Tournament Rounds by RankPHONE SCREEN · Seen May 2026
- Farthest Seat AssignmentONSITE INTERVIEW · Seen May 2026
- Convex Function MinimizationPHONE SCREEN · Seen May 2026
- Maximal Square AreaONSITE INTERVIEW · Seen May 2026
- First Unique IP Hitting the ServerPHONE SCREEN · Seen May 2026
- Jump Game with Prime-Step RuleOA · Seen May 2026
public long maximizePipelineThroughput(int[] throughputs, int[] costs, long budget) {
// write your code here
}