

문제에 나온 것 처럼 각 사람이 일 처리에 걸리는 시간이 짧을수록 모든 사람이 일을 처리 완료 하는 데 걸리는 시간이 가장 짧아진다.
이는 활동 선택 문제로, 그리디 알고리즘으로 풀 수 있다.
풀이과정은 다음과 같다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
static int[] P;
static int time, result;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
P = new int[N];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
P[i] = Integer.parseInt(st.nextToken());
}
min();
System.out.println(result);
}
static void min() {
time = 0;
result = 0;
int[] perTime = new int[P.length];
Arrays.sort(P);
for (int i = 0; i < P.length; i++) {
time += P[i];
perTime[i] = time;
result += perTime[i];
}
}
}