풀이
입력받은 시간을 오름차순으로 정렬 후, 기존의 대기시간(sum)과 i번째 사람이 인출하는데 걸리는 시간(arr[i])을
result에 누적 합으로 저장해주면 된다.
소스코드
#include <stdio.h>
#include <stdlib.h>
int compare(const void *a, const void *b){
return *(int*)a - *(int*)b;
}
int main(){
int N;
scanf("%d", &N);
int arr[N];
for (int i = 0; i < N; i++)
scanf("%d", &arr[i]);
qsort(arr, N, sizeof(int), compare);
int result = 0;
for (int i = 0, sum = 0; i < N; result+=(sum+=arr[i++]));
printf("%d", result);
}
출처
'PS > Baekjoon Online Judge' 카테고리의 다른 글
[백준 11727] 2×n 타일링 2 [C] (0) | 2021.08.08 |
---|---|
[백준 18870] 좌표 정렬 [C/C++] (0) | 2021.08.08 |
[백준 13015] 별 찍기 - 23 [C] (0) | 2021.08.07 |
[백준 10997] 별 찍기 - 22 [C] (0) | 2021.08.07 |
[백준 10996] 별 찍기 - 21 [C] (0) | 2021.08.07 |