큰 수와 작은 수를 곱하는 것이 최소의 누적합을 얻을 수 있다.
따라서 A는 오름차순, B는 내림차순으로 정렬한 것처럼 생각해서 순서대로 곱하고 누적합을 구한다.
import java.util.*;
class Solution
{
public int solution(int []A, int []B)
{
int answer = 0;
Arrays.sort(A);
Arrays.sort(B);
int N = A.length;
for (int i = 0; i < N; i++) {
answer += A[i] * B[N - 1 - i];
}
return answer;
}
}