import heapq
def solution(food_times, k):
    # (음식 크기, 원판에서의 위치) 로 food_times 재정의
    food_times = [(food, idx) for idx, food in enumerate(food_times, 1)]
    # heapify. 음식 크기가 작은 순으로 뽑아낸다.
    heapq.heapify(food_times)
    
    # 가장 크기 작은 음식
    small_food = food_times[0][0]
    prev_food = 0
    # 작은 음식을 완전히 소비하기 위해 원판을 완주할 수 있는 경우
    while k - ((small_food - prev_food) * len(food_times)) >= 0:
        # 해당 음식을 완전히 소비하는 데 걸린 시간만큼 뺀다
        k -= (small_food - prev_food) * len(food_times)
        prev_food, index = heapq.heappop(food_times)
        if not food_times:
            return -1
        small_food = food_times[0][0]
    food_times = sorted(food_times, key = lambda x: x[1])
    # print(food_times)
    return food_times[k % len(food_times)][1]