
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int score[9];
int order[8] = { 0 }; // 최대값으로 들어갔을 때의 순서 번호
int maxs[5] = { 0 }; // 가장 높은 점수 다섯 개의 값
int sum = 0;
int num;
for (int i = 1; i <= 8; i++) { // 8개의 답 입력받기
cin >> score[i];
num = score[i];
for (int j = 0; j < 5; j++) { // 입력받은 답이 다섯 개의 값에 들어가는지 확인하기
if (maxs[j] < num) {
for (int k = 4; k > j; k--) {
maxs[k] = maxs[k - 1];
order[k] = order[k - 1];
}
maxs[j] = num;
order[j] = i;
break;
}
}
}
for (int i = 0; i < 5; i++) {
sum += maxs[i];
}
cout << sum << endl;
sort(order, order + 8);
for (int i = 3; i < 8; i++) {
cout << order[i] << " ";
}
return 0;
}
최대값보다 큰 값이 발견되면 해당 위치 이후의 값들을 한 칸씩 뒤로 옮긴다
그리고 새로운 최대값을 현재 위치에 할당한다

#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int ans[3] = { 0 };
for (int i = 0; i < 3; i++) {
cin >> ans[i];
}
sort(ans, ans + 3);
for (int i = 0; i < 3; i++) {
cout << ans[i] << " ";
}
}
수를 세 개 받아서 정렬 후 출력하도록 하였다