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