#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*size]; for(int j = 0; j < size; j++) { int cnt; scanf(" %d ", &cnt); for(int k = 0; k < size; k++) matrix[j + k*size] = 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*size] > cnt) matrix[j + k*size] = cnt; } int max = 0; for(int j = 0; j < size*size; j++) max += matrix[j]; int min1 = 0; for(int j = 0; j < size; j++) { int max = 0; for(int k = 0; k < size; k++) if(matrix[j + k*size] > max) max = matrix[j + k*size]; 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*size] > max) max = matrix[j + k*size]; min2 += max; } int min = min1 > min2 ? min1 : min2; cout << "Minimalni budova obsahuje " << min << " kostek, maximalni " << max << " kostek." << endl; delete [] matrix; } return 0; }