https://www.acmicpc.net/problem/11399
난이도 - 실버 4
알고리즘 분류 - 그리디 알고리즘, 정렬
n = int(input())
waiting = list(map(int, input().split()))
sum = 0
result = 0
waiting.sort()
for i in waiting:
sum += i
result += sum
print(result)
줄을 선 사람들의 기다리는 시간이 최소가 되도록 하는 문제 입니다. 쉽게 말해 누적 합이 가장 적은 경우를 구하는 문제 입니다. 따라서 오름차순으로 정렬하고, 합을 구하면 됩니다.
n = int(input())
waiting = list(map(int, input().split()))
sum = 0
result = 0
waiting.sort()
for i in waiting:
sum += i
result += sum
print(result)