01
Processing Data. Please Wait...

최소 대기시간

Greedy Algorithms 초급

최소 대기시간

특정 쿼리를 실행하는 데 걸리는 시간을 나타내는 정수배열이 제공됩니다. 한번에 하나의 쿼리만 실행할 수 있지만 쿼리실행 순서는 마음대로 바꿀 수 있습니다.

쿼리의 대기시간은 실행이 시작되기 전에 기다려야 하는 시간으로 정의됩니다. 즉, 쿼리가 두번째로 실행되는 경우, 대기시간은 첫번째 쿼리의 실행시간이 됩니다. 쿼리가 세번째로 실행되는 경우 대기시간은 처음 두 쿼리 실행시간의 합계입니다.

모든 쿼리에 대해 최소 대기시간을 반환하는 함수를 작성합니다. 예를 들어, [1, 4, 5]의 쿼리가 주어질 때, 쿼리가 [5, 1, 4] 순서로 실행되면, 총 대기시간이 (0) + (5) + (5 + 1) = 11이 될 것입니다. 실행시간 5인 첫번째 쿼리는 즉시 실행되므로 대기 시간은 0이고, 실행시간 1의 두번째 쿼리는 실행하려면 5초(첫번째 쿼리의 실행시간)를 기다려야 하며 마지막 쿼리는 실행되기 전에 처음 두 쿼리의 실행시간을 기다려야 합니다.

예제 1

입력

queries = [3, 2, 1, 2, 6]

출력

17