Time Needed to Buy Tickets

There are n people in a line queuing to buy tickets, where the 0^th person is at the front of the line and the (n - 1)^th person is at the back of the line.

You are given a 0-indexed integer array tickets of length n, where the number of tickets that the i^th person would like to buy is tickets[i].

Each person takes exactly 1 second to buy a ticket. A person can only buy 1 ticket at a time and has to go back to the end of the line, which happens instantaneously, in order to buy more tickets. If a person does not have any tickets left to buy, the person will leave the line.

Return the time taken for the person initially at position k (0-indexed) to finish buying tickets.

Example 1
Inputtickets = [2,3,2], k = 2
Output6
After simulating the ticket-buying process, the person initially at position 2 finishes buying all tickets at 6 seconds.
Example 2
Inputtickets = [5,1,1,1], k = 0
Output8
After the other people leave and the person initially at position 0 buys all 5 tickets, the total time taken is 8 seconds.

Constraints

  • n == tickets.length
  • 1 <= n <= 100
  • 1 <= tickets[i] <= 100
  • 0 <= k < n

Asked at 8 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