https://leetcode.com/problems/max-increase-to-keep-city-skyline/
class Solution {
public:
int maxIncreaseKeepingSkyline(vector<vector<int>>& grid) {
int row = grid.size(), col = grid[0].size();
int mcs[row];
int mrs[col];
for(int i=0; i<row; i++){
int Max_val = INT_MIN;
for(int j=0; j<col; j++) Max_val = max(Max_val, grid[i][j]);
mcs[i] = Max_val;
}
for(int j=0; j<col; j++){
int Max_val = INT_MIN;
for(int i=0; i<row; i++) Max_val= max(Max_val, grid[i][j]);
mrs[j] = Max_val;
}
int ans = 0;
for(int i=0; i<row; i++){
for(int j=0; j<col; j++){
ans += min(mcs[i], mrs[j])-grid[i][j];
}
}
return ans;
}
};