#include #include #include int a[100], b[100]; int size; int num; #define min(a,b) ((a)<(b) ? (a) : (b)) #define max(a,b) ((a)>(b) ? (a) : (b)) int main() { scanf("%d", &num); for (int k = 0; k < num; k++) { scanf("%d", &size); for (int i = 0; i < size; i++) { scanf("%d", &a[i]); } int maxkostek = 0; int minkostek = 0; for (int i = 0; i < size; i++) { scanf("%d", &b[i]); for (int j = 0; j < size; j++) maxkostek += min(a[j], b[i]); } for (int i = 0; i < size; i++) { bool found = false; for (int j = 0; j < size; j++) if (a[i] != 0 && a[i] == b[j]) { minkostek += a[i]; b[j] = 0; found = true; break; } if (!found) minkostek += a[i]; } for (int j = 0; j < size; j++) minkostek += b[j]; printf("Minimalni budova obsahuje %d kostek, maximalni %d kostek.\n", minkostek, maxkostek); } return 0; }