🔥🔥  Easy C++ || Explanation  🔥🔥
\nclass Solution {\npublic:\n    int maxArea(int h, int w, vector<int>& horizontalCuts, vector<int>& verticalCuts) {\n        \n        // sort the position of 
```\nclass Solution {\npublic:\n    int maxArea(int h, int w, vector<int>& horizontalCuts, vector<int>& verticalCuts) {\n        \n        // sort the position of horizontal and vertical cuts\n        sort(horizontalCuts.begin(),horizontalCuts.end());\n        sort(verticalCuts.begin(), verticalCuts.end());\n        \n        // max_h will have the max possible height i.e max difference between two consecutive horizontal cuts\n        // max_w will have the max possible width  i.e max difference between two consecutive vertical cuts\n\t\t\n        int max_h=horizontalCuts[0], max_w=verticalCuts[0], i;\n        \n        for(i=1; i<horizontalCuts.size(); ++i)\n            max_h = max(max_h, horizontalCuts[i]-horizontalCuts[i-1]);\n        max_h = max(max_h, h-horizontalCuts[i-1]);\n        \n        for(i=1; i<verticalCuts.size(); ++i)\n            max_w = max(max_w, verticalCuts[i]-verticalCuts[i-1]);\n        max_w = max(max_w, w-verticalCuts[i-1]);\n        \n        // % 10^9+7 to prevent overflow\n        return ((long long)max_h*max_w)%1000000007;\n    }\n};\n```
['C', 'Sorting', 'C++']