#include #include #include #include using namespace std; int main(void) { int n; scanf(" %d ", &n); for(int i = 0; i < n; i++) { int size; scanf(" %d ", &size); int ** matrix = new int*[size]; for(int j = 0; j < size; j++) matrix[j] = new int[size]; for(int j = 0; j < size; j++) { int cnt; scanf(" %d ", &cnt); for(int k = 0; k < size; k++) matrix[j][k] = cnt; } for(int k = size-1; k >= 0; k--) { int cnt; scanf(" %d ", &cnt); for(int j = 0; j < size; j++) if(matrix[j][k] > cnt) matrix[j][k] = cnt; } int max = 0; for(int k = size-1; k >= 0; k--) for(int j = 0; j < size; j++) max += matrix[j][k]; int min1 = 0; for(int j = 0; j < size; j++) { int max = 0; for(int k = 0; k < size; k++) if(matrix[j][k] > max) max = matrix[j][k]; min1 += max; } int min2 = 0; for(int k = 0; k < size; k++) { int max = 0; for(int j = 0; j < size; j++) if(matrix[j][k] > max) max = matrix[j][k]; min2 += max; } int min = min1 > min2 ? min1 : min2; cout << "Minimalni budova obsahuje " << min << " kostek, maximalni " << max << " kostek." << endl; for(int j = 0; j < size; j++) delete [] matrix[j]; delete [] matrix; } return 0; }