반응형
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
bool compare(const pair<int, int>& a, const pair<int, int>& b) //sort함수를 사용하여 정렬할때 second를 기준으로 정렬하기 위한 함수
{
return a.second < b.second;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
vector<pair<int,int>>v(8); //벡터를 선언
int sum = 0; //합계로 사용할 변수
for (int i = 0; i < 8; i++) //8개의 점수를 입력받는다.
{
cin >> v[i].first; //점수는 pair의 first에 저장
v[i].second = i; // 입력순서를 알기위해 인덱스를 second에 저장
}
sort(v.begin(), v.end()); //점수를 오름차순으로 정렬
for (int i = 3; i < 8; i++) //8개의 점수중 높은 5개의 점수만 필요함으로 정렬된 벡터에서 3번째 점수부터 더한다.
sum += v[i].first;
sort(v.begin() + 3, v.end(),compare); //문제 번호도 오름차순으로 정렬
cout << sum << '\n'; //합계 출력
for (int i = 3; i < 8; i++) //문제 번호 출력
cout << v[i].second+1 << " ";
return 0;
}
반응형
'Programming > Baekjoon' 카테고리의 다른 글
백준 1427 소트인사이드 [c++] (0) | 2022.01.17 |
---|---|
백준 1037 약수 [c++] (0) | 2022.01.17 |
백준 1292 쉽게 푸는 문제 [c++] (0) | 2022.01.16 |
백준 1546 평균 [c++] (0) | 2022.01.16 |
백준 2581 소수 [c++] (0) | 2022.01.16 |