Skip to content

Files

Latest commit

 

History

History
81 lines (53 loc) · 1.95 KB

2809-minimum-time-to-make-array-sum-at-most-x.adoc

File metadata and controls

81 lines (53 loc) · 1.95 KB

2809. Minimum Time to Make Array Sum At Most x

{leetcode}/problems/minimum-time-to-make-array-sum-at-most-x/[LeetCode - 2809. Minimum Time to Make Array Sum At Most x ^]

You are given two 0-indexed integer arrays nums1 and nums2 of equal length. Every second, for all indices 0 ⇐ i < nums1.length, value of nums1[i] is incremented by nums2[i]. After this is done, you can do the following operation:

  • Choose an index 0 ⇐ i < nums1.length and make nums1[i] = 0.

You are also given an integer x.

Return the minimum time in which you can make the sum of all elements of _`nums1` to be* less than or equal* to `x`, _or _`-1` if this is not possible._

Example 1:

Input: nums1 = [1,2,3], nums2 = [1,2,3], x = 4
Output: 3
Explanation:
For the 1st second, we apply the operation on i = 0. Therefore nums1 = [0,2+2,3+3] = [0,4,6].
For the 2nd second, we apply the operation on i = 1. Therefore nums1 = [0+1,0,6+3] = [1,0,9].
For the 3rd second, we apply the operation on i = 2. Therefore nums1 = [1+1,0+2,0] = [2,2,0].
Now sum of nums1 = 4. It can be shown that these operations are optimal, so we return 3.

Example 2:

Input: nums1 = [1,2,3], nums2 = [3,3,3], x = 4
Output: -1
Explanation: It can be shown that the sum of nums1 will always be greater than x, no matter which operations are performed.

Constraints:

  • <font face="monospace">1 ⇐ nums1.length ⇐ 103

  • 1 ⇐ nums1[i] ⇐ 103

  • 0 ⇐ nums2[i] ⇐ 103

  • nums1.length == nums2.length

  • 0 ⇐ x ⇐ 106

思路分析

一刷
link:{sourcedir}/_2809_MinimumTimeToMakeArraySumAtMostX.java[role=include]

参考资料