모름

 

방법

문제 번호와 문제 점수를 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] << " ";
	}
}