#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param tickets int整型一维数组 
# @param k int整型 
# @return int整型
#
class Solution:
    def timeRequiredToBuy(self , tickets: List[int], k: int) -> int:
        # write code here
        flag=True
        T=0
        while(tickets and flag):
            if k!=0:
                if tickets[0]==1:
                    tickets.pop(0)
                    k-=1
                else:
                    tickets[0]-=1
                    tickets.append(tickets.pop(0))
                    k-=1
            else:
                if tickets[0]!=1:
                    tickets[0]-=1
                    tickets.append(tickets.pop(0))
                    k=len(tickets)-1
                else:
                    flag=False
            T+=1
        return T