[요약]
- 1대 존재하는 ATM 기기에 N명이 줄 서 있다.
- i번 사람이 돈을 인출하는데 걸리는 시간은 이다.
- 각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 구하라
시간의 합의 최솟값을 구하는 문제이기 때문에 주어진 시간이 적은 수를 먼저 처리하는 것이 좋다. 따라서 주어진 시간을 오름차순으로 정렬한 뒤에 합의 최솟값을 구해주면 된다.
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
ArrayList<Integer> al = new ArrayList<>();
for(int i=0; i<n; i++) {
al.add(sc.nextInt());
}
Collections.sort(al);
int result = 0;
int prev = 0;
for(int r : al) {
r += prev;
result += r;
prev = r;
}
System.out.println(result);
}
}