https://www.acmicpc.net/problem/1026
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(int x, int y) {
if (x >=y) return true;
else return false;
}
int main() {
vector<int> a, b;
int n;
cin >> n;
int s = 0;
int tem = 0 ;
for (int i = 0; i < n; i++) {
cin >> tem;
a.push_back(tem);
}
for (int i = 0; i < n; i++) {
cin >> tem;
b.push_back(tem);
}
sort(a.begin(), a.end());
bool IsChoosen[100] = {false,};
for (int i = 0; i < n; i++) {
int maxindex = i;
for (int j = 0; j < n; j++) {
if (IsChoosen[maxindex] || (!IsChoosen[j]&&b[maxindex] < b[j])) {
maxindex = j;
//cout << maxindex << "\n";
}
}
s += a[i] * b[maxindex];
IsChoosen[maxindex] = true;
//cout << a[i] << " X " << b[maxindex] << "\n";
}
cout << s << "\n";
}