순서가 뒤로 갈수록 인출 시간은 누적된다.
총 인출 시간이 최소가 되게 하도록 하는 문제이다.
문제에서 제시하듯, 누적 합이 최소가 되는 방법은 인출 시간이 가장 짧은 사람부터 돈을 인출하게 하는 것이다.
따라서 이는 간단한 정렬 문제이다.
count = int(input())
p = list(map(int, input().split()))
p.sort()
result = 0
for i in range(count):
for j in range(i + 1):
result += p[j]
print(result)
이중 반복문을 사용한 이유는 단순히 배열의 합을 구하는 것이 아니라,
1 + (1+2) + (1+2+3) + ... 과 같이 앞서 계산값이 뒤의 계산에도 계속 필요하기 때문이다.