문제를 읽어보고 살펴보니 오름차순 정렬 후 값을 더하면 최소 비용이 나온다는 것을 파악했다.
주의할점은 처음 더하려는 값을 0으로 초기화하면 안되고 걸리는 비용으로 초기화 하여야 한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[] people = new int[N];
StringTokenizer st = new StringTokenizer(br.readLine());
for(int i=0;i<N;i++){
people[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(people);
int sum = 0;
int prev = 0;
for(int i=0;i<N;i++) {
prev += people[i];
sum+= prev;
}
System.out.println(sum);
}
}