메모
/*
ATM = 1대
N = 기다리는 사람 수 (1번 ~ N번) (1 ≤ N ≤ 1,000)
Pi = i번 사람이 돈을 인출하는데 걸리는 시간 (1 ≤ Pi ≤ 1,000)
각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값?
*/
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int N = in.nextInt();
int[] arr = new int[N]; // 기다리는 사람 수(N) 만큼 배열 arr 생성
for (int i = 0; i < N; i++) { // 배열 arr 에 담는다
arr[i] = in.nextInt();
}
Arrays.sort(arr); // 오름차순 정렬
int accum = 0; // 시간의 누적 합
int sum = 0; // 모든 사람의 시간 최종 합
for (int i = 0; i < N; i++) {
sum += arr[i] + accum; // 최종 합에 누적 시간을 더해준다
accum += arr[i]; // 계속 더해지는 누적시간을 갱신시키고, for문으로 다시 들어감
}
System.out.println(sum);
}
}