Minimum Speed to Arrive on Time

You are given a floating-point number hour, representing the amount of time you have to reach the office. To commute to the office, you must take n trains in sequential order. You are also given an integer array dist of length n, where dist[i] describes the distance in kilometers of the i^th train ride.

Each train can only depart at an integer hour, so you may need to wait in between each train ride.

  • For example, if the 1^st train ride takes 1.5 hours, you must wait for an additional 0.5 hours before you can depart on the 2^nd train ride at the 2 hour mark.

Return the minimum positive integer speed in kilometers per hour that all the trains must travel at for you to reach the office on time, or -1 if it is impossible to be on time.

Tests are generated such that the answer will not exceed 10^7 and hour will have at most two digits after the decimal point.

Example 1
Inputdist = [1,3,2], hour = 6
Output1
At speed 1, the rides and required waits make you arrive exactly at the 6 hour mark.
Example 2
Inputdist = [1,3,2], hour = 2.7
Output3
At speed 3, after waiting for integer departure times between rides, you arrive at the 2.66667 hour mark.

Constraints

  • n == dist.length
  • 1 <= n <= 10^5
  • 1 <= dist[i] <= 10^5
  • 1 <= hour <= 10^9
  • There will be at most two digits after the decimal point in hour.

Asked at 2 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate