import sys
input = sys.stdin.readline
N = int(input())
time = [*map(int, input().split())]
time.sort() # 인출하는 시간이 짧은 사람 먼저 줄세우기
sum = 0
total = 0
for i in range(len(time)):
sum += time[i]
time[i] = sum # 앞 사람 시간 + 내 시간 => i번째 사람이 걸리는 시간
total += time[i] # N명의 사람이 걸리는 총 시간의 최솟값
print(total)
인출하는데 걸리는 시간이 짧은 사람이 먼저와야 누적 시간이 최소화된다.
입력받은 인출 시간이 짧은 사람부터 정렬을 한 뒤에
i번째 사람의 총 시간을 계산하고 (앞 사람 인출 시간 + 자신의 인출 시간)
N명의 각자 총 인출 시간을 합산한다.
'코테 > 백준' 카테고리의 다른 글
백준 10816 숫자 카드 2 - 파이썬 (0) | 2024.06.25 |
---|---|
백준 1920 수 찾기 - 파이썬 (0) | 2024.06.25 |
백준 11047 동전 0 - 파이썬 (0) | 2024.06.25 |
백준 1931 회의실 배정 : 파이썬 (0) | 2024.06.25 |
1157번: 단어공부 - 파이썬 (0) | 2024.05.14 |