2025-10-09 21:03:44 +0300 MSK
Find the Minimum Amount of Time to Brew Potions
Links
Code
class Solution:
def minTime(self, skill: List[int], mana: List[int]) -> int:
n, m = len(skill), len(mana)
times = [0] * n
for j in range(m):
cur_time = 0
for i in range(n):
cur_time = max(cur_time, times[i]) + skill[i] * mana[j]
times[n - 1] = cur_time
for i in range(n - 2, -1, -1):
times[i] = times[i + 1] - skill[i + 1] * mana[j]
return times[n - 1]