풀이 1) 전제 조건 K 시간이 다 가기 전에 음식을 다 먹으면 -1을 반환한다. food_times에 담긴 합이 K보다 작거나 같으면 -1을 반환한다. 2) 가장 적은 시간이 드는 음식 다 먹는 시간 현재까지 음식을 먹는데 걸린 시간 sum, 이전에 먹은 음식에 걸린 시간 pre 남은 음식 rest로 만들어진 식 sum + (pq.peek().getTime() - pre) * rest 은 이제 먹을 음식 pq.peek()을 먹는데 걸리는 시간에 pre를 빼는 것은 pre가 이미 sum에 합쳐져 있기 때문이다. rest를 곱하는 이유는 pq.peek()을 먹으면 그만큼 다른 음식들도 먹어야 하기 때문이다. 위와 같은 식이 K보다 작을 경우 지금 먹는 음식을 모두 먹을 수 있다. sum = 0; pre =..