두 vector의 element들을 곱해 더한 값이 최소가 되도록 하는 문제.
두 벡터를 정렬해놓고 하나는 가장 작은 element부터, 다른 벡터는 가장 큰 element부터 곱해서 더하면 최솟값을 얻는다.
#include <iostream>
#include <vector>
#include <algorithm> // sort
using namespace std;
int solution(vector<int> A, vector<int> B)
{
int answer = 0;
int i = 0;
sort(A.begin(), A.end());
sort(B.begin(), B.end(), greater<int>());
int size = A.size();
for (i; i < size; i++) answer += A[i] * B[i];
return answer;
}