입력 코드
#include <stdio.h>
main() {
int N;
scanf("%d", &N);
int arr[1000];
int i, j, key;
for (i = 0; i < N; i++) {
scanf("%d", &arr[i]);
}
for (i = 0; i < N - 1; i++) {
j = i;
while (j >= 0 && arr[j] > arr[j + 1]) {
key = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = key;
j--;
}
}
int sum = 0, sum2 = 0;
for (i = 0; i < N; i++) {
sum += arr[i];
sum2 += sum;
}
printf("%d\n", sum2);
}
코드 설명
#그리디 알고리즘 #정렬
앞사람이 걸리는 시간만큼 누적되어 계속 더해지는 것이므로 Pi를 작은 수부터 오름차순으로 정렬한 뒤에 소요시간을 계산해서 더하면 된다.
참고
m.blog.naver.com/occidere/220790825104
문제 출처
'C' 카테고리의 다른 글
#81. [백준_C언어] 1697 : 숨바꼭질 \ 그래프 이론 (0) | 2021.02.16 |
---|---|
#80. [백준_C언어] 1260 : DFS와 BFS \ 그래프 이론 (0) | 2021.02.16 |
#78. [백준_C언어] 2220 : 힙 정렬 \ 정렬 (0) | 2021.02.15 |
#77. [백준_C언어] 11004 : K번째 수 \ 정렬 (0) | 2021.02.13 |
#76. [백준_C언어] 2108 : 통계학 \ 정렬 (0) | 2021.02.13 |