【思路】:一个升序,一个降序,相乘。
【AC代码】:
#include <iostream> #include <algorithm> #include <vector> #include <cstdio> #include <cstring> using namespace std; #define MAX 8+1 int cmp_a(const void *a, const void *b) { return *(int*)a - *(int*)b; } int cmp_b(const void *a, const void *b) { return *(int*)b - *(int*)a; } int main() { //freopen("in.txt", "r", stdin); int T = 0; cin >> T; while (T--) { int sum = 0, n = 0, i = 0; int a[MAX], b[MAX]; cin >> n; for (i = 0; i < n; i++) cin >> a[i]; for (i = 0; i < n; i++) cin >> b[i]; qsort(a, n, sizeof(int), cmp_a); qsort(b, n, sizeof(int), cmp_b); for (i = 0; i < n; i++) { sum += a[i]*b[i]; } cout << sum << endl; } }
原文:http://blog.csdn.net/weijj6608/article/details/44651979