#include #include #include #include #include #include #include #define REP(i, cnt) for (int i = 0; i < (cnt); i++) using namespace std; typedef long long int64; int a[128], b[128]; int compare_ints(const void* a, const void* b) // comparison function { int* arg1 = (int*) a; int* arg2 = (int*) b; if (*arg1 < *arg2) return -1; else if (*arg1 == *arg2) return 0; else return 1; } int main() { int inputcount; scanf("%d", &inputcount); REP(inp, inputcount) { int min = 0, max = 0; int n; scanf("%d", &n); REP(i, n) { scanf("%d", &a[i]); } REP(i, n) { scanf("%d", &b[i]); } std::qsort(a, n, sizeof(int), compare_ints); std::qsort(b, n, sizeof(int), compare_ints); REP(i, n) { REP(j, n) { if (a[i] == b[j] && i != j) { int x = b[j]; b[j] = b[i]; b[i] = x; } } } REP(i, n) { REP(j, n) { if (a[i] < b[j]) { max += a[i]; } else max += b[j]; } } REP(i, n) if (a[i] == b[i]) min += a[i]; else min += a[i]+b[i]; printf("Minimalni budova obsahuje %d kostek, maximalni %d kostek.\n", min, max); } return 0; }