=> 간단한 정렬 문제입니다.
=> 문제에서 B는 그대로 두라고 하지만, 실제로는 정렬을 해야 계산이 쉬워집니다.
-
A를 정렬한다.
-
B를 정렬한다.
-
A[0] * B [N-1] + A [1] * B [N-2]... 를 취한다.
=> 위와 같은 방법으로 문제를 해결하면 됩니다.
<code>
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <queue>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int N;
cin >> N;
int A[51];
int B[51];
for(int i=0; i<N; i++)
{
int tmp;
cin >> tmp;
A[i] =tmp;
}
for(int i=0; i<N; i++)
{
int tmp;
cin >> tmp;
B[i] =tmp;
}
sort(A, A+N);
sort(B, B+N);
int ans = 0;
for(int i=0; i<N; i++)
{
ans += A[i] * B[N-i-1];
}
cout << ans <<'\n';
return 0;
}