방법
문제 번호와 문제 점수를 vector<pair<int,int>> 자료구조에 담는다. 그리고 내림차순으로 정렬하여 상위 5개의 점수를 더한다. 그리고 해당하는 문제의 번호를 차례대로 받아서, 오름차순으로 정렬하여 맞춘 문제를 순서대로 출력해준다.
#include<bits/stdc++.h>
using namespace std;
bool cmp(pair<int, int> a, pair<int, int> b){
return a.second > b.second;
}
int main(){
vector<pair<int, int>> scores;
for(int i = 0; i < 8; i++){
int input =0;
cin >> input;
scores.push_back({i+1, input});
}
sort(scores.begin(), scores.end(), cmp);
vector<int> order;
int sum = 0;
for(int i = 0; i < 5; i++){
sum += scores[i].second;
order.push_back(scores[i].first);
}
sort(order.begin(), order.end());
cout << sum << "\n";
for(int i = 0; i < 5; i++){
cout << order[i] << " ";
}
}