문제
접근
그리디 문제이다.
i 위치에 있는 사람은 항상 i-1번째 위치까지의 시간의 총합만큼 기다려야 한다.
때문에 걸리는 시간이 적을 수록 앞에 서는게 좋다.
전체 배열을 정렬해주고, 앞에서부터 차례로 걸리는 시간을 연산해주면 된다.
코드
- 파이썬 코드
1
2
3
4
5
6
7
8
9
10
n = int(input())
arr = list(map(int, input().split()))
arr.sort()
now = 0
ans = 0
for item in arr:
ans += (now+item)
now += item
print(ans)