코딩테스트/백준
[Dev-Ping9] 백준 11399번 - ATM (Java)
DevPing9_
2022. 1. 9. 23:01

# 문제 설명
모든사람이 기다리는 시간의 합을 최소화 하는 문제이다.
종료시간이 짧은 순대로 정렬하면 끝나는 문제이다.....
# 코드 구현
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Set;
import java.util.StringTokenizer;
public class Main{
static int[] waitingTime;
static int[] sum;
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
StringTokenizer st;
waitingTime = new int[n];
sum = new int[n];
st = new StringTokenizer(br.readLine(), " ");
for(int i=0; i<n; i++){
waitingTime[i]=Integer.parseInt(st.nextToken());
}
Arrays.sort(waitingTime);
sum[0] = waitingTime[0];
int ans = sum[0];
for(int i=1; i<n; i++){
sum[i]+= sum[i-1]+waitingTime[i];
ans+=sum[i];
}
System.out.println(ans);
}
}
728x90