#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param tickets int整型一维数组
# @param k int整型
# @return int整型
#
class Solution:
def timeRequiredToBuy(self , tickets: List[int], k: int) -> int:
# write code here
#记录消耗总时间
sum_time=0
for i in range(len(tickets)):
#排在k之前的人
if(i<=k):
#所耗时间为i与k中取票数最少的
sum_time+=min(tickets[i],tickets[k])
#排在k之后的人
else:
#如果i取票数小于k,则经历多轮后,i早就取完了,所耗时间为tickets[i]
if tickets[i]<tickets[k]:
sum_time+=tickets[i]
#反之,则为tickets[k],又因k取完后就不计时了,所以其后面的人少取1轮要-1
else:
sum_time+=tickets[k]-1
return sum_time