class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param tickets int整型vector 
     * @param k int整型 
     * @return int整型
     */
    int timeRequiredToBuy(vector<int>& tickets, int k) {
        // write code here
        queue<int> qu;
        int ti=0;
        for(int i=0;i<tickets.size();i++){
        	qu.push(i);
		}
		while(true){
			int x=qu.front();
			ti++;
			if(tickets[x]>1){
				tickets[x]--;
				qu.pop();qu.push(x);
			}else if(tickets[x]<=1&&k==x){
				return ti;
			}else{
				qu.pop();
			}
		}
    }
};