백준 1026번 보물
A배열은 오름차순 B배열은 내림차순하여
각 요소를 곱해 총합을 구하는 문제
#include <iostream>
#include <algorithm>
using namespace std;
bool compare(int a, int b) {
return a > b;
}
int main() {
int n, A[50], B[50];
cin >> n;
for (int i = 0; i < n; i++) {
cin >> A[i];
}
sort(A, A + n); //n개의 원소 들어있는 배열 A정렬
for (int i = 0; i < n; i++) {
cin >> B[i];
}
sort(B, B + n, compare);
int total = 0;
for (int i = 0; i < n; i++) {
total += A[i] * B[i];
}
cout << total << endl;
}
정렬시 #include 헤더 파일 포함
오름차순 정렬
sort(배열 이름, 배열 이름+요소의 개수)
내림차순 정렬
i) sort(배열 이름, 배열 이름+요소의 개수, compare함수)
compare(int a,int b)
{return a>b;}//큰 값 반환
ii) 오름차순 정렬 sort()후 reverse 사용
reverse(배열 이름, 배열 이름+요소의 개수)