Pipeline Throughput Maximization Under Budget
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.
1Example 1
With no budget, the pipeline throughput is the minimum base throughput, which is 2.
2Example 2
Spending the full budget can raise the bottleneck service from 2 to 4, but not to 5.
Constraints
Limits and guarantees your solution can rely on.
1 <= throughputs.length == costs.length <= 2 * 10^51 <= throughputs[i], costs[i] <= 10^90 <= budget <= 10^18