Server Upgrade Planning
Learn this problemProblem statement
Two servers require t1 and t2 seconds of upgrade work. During each numbered second, at most one server can undergo an upgrade.
The first server receives requests at every multiple of req1 and cannot be upgraded during those seconds. The second server receives requests at every multiple of req2 and cannot be upgraded during those seconds.
There may be seconds during which neither server is upgraded. Return the minimum total number of seconds needed to complete both upgrades.
Function
getMinUpgradationTime(req1: int, t1: int, req2: int, t2: int) → longExamples
Example 1
req1 = 2t1 = 3req2 = 3t2 = 1return = 5Upgrade the first server during seconds 1, 3, and 5. Upgrade the second server during second 2. Each chosen second avoids that server's request multiples, so both upgrades finish after 5 seconds.
Example 2
req1 = 2t1 = 1req2 = 2t2 = 3return = 7Neither server can be upgraded during an even-numbered second. Four one-second upgrade slots are needed, so the earliest usable slots are 1, 3, 5, and 7.
Constraints
2 <= req1, req2 <= 3 * 10^41 <= t1, t2 <= 10^9
More Rippling problems
- Delivery Cost TrackerPHONE SCREEN · Seen Jul 2026
- Corporate Card Expense RulesPHONE SCREEN · Seen Jun 2026
- Camel CardsPHONE SCREEN · Seen May 2026
- Article Vote TrackerPHONE SCREEN · Seen May 2026
- Employee Resource Access ManagementONSITE INTERVIEW · Seen Jan 2026
- Limit an Organization Tree's HeightONSITE INTERVIEW · Seen Aug 2025
- Distributed System RecoveryOA · Seen Jul 2025
- Shortest SubstringOA · Seen Jul 2025