Python O(N) easy method
```\nclass Solution:\n    def timeRequiredToBuy(self, tickets: List[int], k: int) -> int:\n\t\t#Loop through all elements in list only once.  \n\t\t\n        nu
```\nclass Solution:\n    def timeRequiredToBuy(self, tickets: List[int], k: int) -> int:\n\t\t#Loop through all elements in list only once.  \n\t\t\n        nums = tickets \n        time_sec = 0\n\t\t# save the number of tickets to be bought by person standing at k position\n        least_tickets = nums[k]     \n\t\t#(3) Any person nums[i] having tickets more than the k pos person, will buy tickets least_tickets times only.\n\t\t#(2) Person nums[i] having tickets less than kth person ( nums[i] < least_tickets ), and standing before him(i<k), will be able to buy nums[i] amount.\n\t\t#(1) Person nums[i] standing after kth person having more tickets than kth person, will be able to buy one less than the ticket kth person can buy(condition: least_tickets - 1).\n        for i in range(len(nums)):                  \n            if k < i and nums[i] >= least_tickets :         #(1)\n                time_sec += (least_tickets - 1)\n            elif nums[i] < least_tickets :                   #(2)\n                time_sec += nums[i]\n            else:                                            #(3)\n                time_sec += least_tickets\n\t\t\t\t\n        return time_sec\n        \nPlease upvote if you find it useful and well-explained!
['Queue', 'Python', 'Python3']