0%

1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts

O(mlogm + nlogn) time O(1) space

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
public:
int maxArea(int h, int w, vector<int>& horizontalCuts, vector<int>& verticalCuts) {
return f(h, horizontalCuts) * f(w, verticalCuts) % int(1e9 + 7);
}

long f(int sz, vector<int> &A) {
A.push_back(sz);
A.push_back(0);
sort(begin(A), end(A));
int res = 0;
for (int i = 1; i < size(A); ++i) {
res = max(res, A[i] - A[i - 1]);
}
return res;
}
};