# 2073\. Time Needed to Buy Tickets
```python=
class Solution:
def timeRequiredToBuy(self, tickets: List[int], k: int) -> int:
ans=0
i=0
while True:
while i<len(tickets):
if tickets[i]>0:
tickets[i]-=1
ans+=1
if tickets[k]==0:
return ans
i+=1
i=0
class Solution:
def timeRequiredToBuy(self, tickets: List[int], k: int) -> int:
tar=tickets[k]
return sum([min(tar,x) for x in tickets[:k+1]]) + sum([min(tar-1,x) for x in tickets[k+1:]])
# as k-th person finish buying, for those in front k-th, they can buy tickets as many as k-th person
# as k-th person finish buying, for those behind k-th, they can buy tickets as many as k-th person minus 1
```