2023-12-09 18:42:21 +08:00
< p > You are given two < strong > 0-indexed< / strong > integer arrays < code > nums< / code > and < code > multipliers< / code > < strong > < / strong > of size < code > n< / code > and < code > m< / code > respectively, where < code > n > = m< / code > .< / p >
2022-03-27 20:45:09 +08:00
2023-12-09 18:42:21 +08:00
< p > You begin with a score of < code > 0< / code > . You want to perform < strong > exactly< / strong > < code > m< / code > operations. On the < code > i< sup > th< / sup > < / code > operation (< strong > 0-indexed< / strong > ) you will:< / p >
2022-03-27 20:45:09 +08:00
< ul >
2023-12-09 18:42:21 +08:00
< li > Choose one integer < code > x< / code > from < strong > either the start or the end < / strong > of the array < code > nums< / code > .< / li >
< li > Add < code > multipliers[i] * x< / code > to your score.
< ul >
< li > Note that < code > multipliers[0]< / code > corresponds to the first operation, < code > multipliers[1]< / code > to the second operation, and so on.< / li >
< / ul >
< / li >
< li > Remove < code > x< / code > from < code > nums< / code > .< / li >
2022-03-27 20:45:09 +08:00
< / ul >
< p > Return < em > the < strong > maximum< / strong > score after performing < / em > < code > m< / code > < em > operations.< / em > < / p >
< p > < / p >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 1:< / strong > < / p >
2022-03-27 20:45:09 +08:00
< pre >
< strong > Input:< / strong > nums = [1,2,3], multipliers = [3,2,1]
< strong > Output:< / strong > 14
< strong > Explanation:< / strong > An optimal solution is as follows:
- Choose from the end, [1,2,< strong > < u > 3< / u > < / strong > ], adding 3 * 3 = 9 to the score.
- Choose from the end, [1,< strong > < u > 2< / u > < / strong > ], adding 2 * 2 = 4 to the score.
- Choose from the end, [< strong > < u > 1< / u > < / strong > ], adding 1 * 1 = 1 to the score.
The total score is 9 + 4 + 1 = 14.< / pre >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 2:< / strong > < / p >
2022-03-27 20:45:09 +08:00
< pre >
< strong > Input:< / strong > nums = [-5,-3,-3,-2,7,1], multipliers = [-10,-5,3,4,6]
< strong > Output:< / strong > 102
< strong > Explanation: < / strong > An optimal solution is as follows:
- Choose from the start, [< u > < strong > -5< / strong > < / u > ,-3,-3,-2,7,1], adding -5 * -10 = 50 to the score.
- Choose from the start, [< strong > < u > -3< / u > < / strong > ,-3,-2,7,1], adding -3 * -5 = 15 to the score.
- Choose from the start, [< strong > < u > -3< / u > < / strong > ,-2,7,1], adding -3 * 3 = -9 to the score.
- Choose from the end, [-2,7,< strong > < u > 1< / u > < / strong > ], adding 1 * 4 = 4 to the score.
- Choose from the end, [-2,< strong > < u > 7< / u > < / strong > ], adding 7 * 6 = 42 to the score.
The total score is 50 + 15 - 9 + 4 + 42 = 102.
< / pre >
< p > < / p >
< p > < strong > Constraints:< / strong > < / p >
< ul >
< li > < code > n == nums.length< / code > < / li >
< li > < code > m == multipliers.length< / code > < / li >
2023-12-09 18:42:21 +08:00
< li > < code > 1 < = m < = 300< / code > < / li >
2022-03-27 20:45:09 +08:00
< li > < code > m < = n < = 10< sup > 5< / sup > < / code > < code > < / code > < / li >
< li > < code > -1000 < = nums[i], multipliers[i] < = 1000< / code > < / li >
< / ul >