Given the length **L** and breadth **B** of a rectangle and the position of a hole in the rectangle as **(X, Y)** coordinate, the task is to find the area of largest Rectangle within the given Rectangle such that it does not contain the hole.

**Note:** The rectangle is placed at the origin by two of its side touching the Co-ordinate axis.

**Examples:**

Input:L = 8, B = 8, X = 0, Y = 0

Output:56

Explanation:

Since the hole is at origin, i.e. (0, 0), the maximum area rectangle can be cut from either (0, 1) or (1, 0) by reducing the length or breadth of the rectangle by one.

Hence, the maximum area rectangle that can be formed is = 7 * 8 = 56

Input:L = 1, B = 10, X = 0, Y = 3

Output:6

Explanation:

Since the hole is at (0, 3), the maximum area rectangle can be cutted from the point (0, 4) by reducing the breadth to 6 and keeping the length as 1.

Hence, the maximum area rectangle that can be formed is = 6 * 1 = 6

**Approach:** In order to avoid the hole, the rectangle can be cut from either above, below, left or right of the hole, as:

Position - Maximum area of rectangle ------------------------------------ Left - X * B Right - (L - X - 1) * B Above - L * Y Below - (B - Y - 1) * L

Therefore, the required area of the largest rectangle can be computed by comparing the area calculated by using the above positions. The position with the largest area will yield the result.

Below is the implementation of the above approach:

## C++

`// C++ implementation to find area of ` `// largest Rectangle without hole ` `// within a given Rectangle ` ` ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function to find the maximum area ` `// such that it does not contains any hole ` `void` `maximumArea(` `int` `l, ` `int` `b, ` ` ` `int` `x, ` `int` `y) ` `{ ` ` ` ` ` `// Area for all the possible ` ` ` `// positions of the cut ` ` ` `int` `left, right, above, below; ` ` ` ` ` `left = x * b; ` ` ` `right = (l - x - 1) * b; ` ` ` `above = l * y; ` ` ` `below = (b - y - 1) * l; ` ` ` ` ` `// Find the maximum area ` ` ` `// among the above rectangles ` ` ` `cout << max(max(left, right), ` ` ` `max(above, below)); ` `} ` ` ` `// Driver Code ` `int` `main() ` `{ ` ` ` `int` `L = 8, B = 8; ` ` ` `int` `X = 0, Y = 0; ` ` ` ` ` `// Function call ` ` ` `maximumArea(l, b, x, y); ` ` ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

## Java

`// Java implementation to find area of ` `// largest Rectangle without hole ` `// within a given Rectangle ` `import` `java.util.*; ` ` ` `class` `GFG{ ` ` ` `// Function to find the maximum area ` `// such that it does not contains any hole ` `static` `void` `maximumArea(` `int` `l, ` `int` `b, ` ` ` `int` `x, ` `int` `y) ` `{ ` ` ` ` ` `// Area for all the possible ` ` ` `// positions of the cut ` ` ` `int` `left, right, above, below; ` ` ` ` ` `left = x * b; ` ` ` `right = (l - x - ` `1` `) * b; ` ` ` `above = l * y; ` ` ` `below = (b - y - ` `1` `) * l; ` ` ` ` ` `// Find the maximum area ` ` ` `// among the above rectangles ` ` ` `System.out.print(Math.max(Math.max(left, right), ` ` ` `Math.max(above, below))); ` `} ` ` ` `// Driver Code ` `public` `static` `void` `main(String[] args) ` `{ ` ` ` `int` `L = ` `8` `, B = ` `8` `; ` ` ` `int` `X = ` `0` `, Y = ` `0` `; ` ` ` ` ` `// Function call ` ` ` `maximumArea(L, B, X, Y); ` `} ` `} ` ` ` `// This code is contributed by Rajput-Ji ` |

*chevron_right*

*filter_none*

## Python3

`# Python3 implementation to find area of ` `# largest Rectangle without hole ` `# within a given Rectangle ` ` ` `# Function to find the maximum area ` `# such that it does not contains any hole ` `def` `maximumArea(l, b,x, y): ` ` ` ` ` `# Area for all the possible ` ` ` `# positions of the cut ` ` ` `left, right, above, below ` `=` `0` `, ` `0` `, ` `0` `, ` `0` ` ` ` ` `left ` `=` `x ` `*` `b ` ` ` `right ` `=` `(l ` `-` `x ` `-` `1` `) ` `*` `b ` ` ` `above ` `=` `l ` `*` `y ` ` ` `below ` `=` `(b ` `-` `y ` `-` `1` `) ` `*` `l ` ` ` ` ` `# Find the maximum area ` ` ` `# among the above rectangles ` ` ` `print` `(` `max` `(` `max` `(left, right),` `max` `(above, below))) ` ` ` `# Driver Code ` `l ` `=` `8` `b ` `=` `8` `x ` `=` `0` `y ` `=` `0` ` ` `# Function call ` `maximumArea(l, b, x, y) ` ` ` `# This code is contributed by mohit kumar 29 ` |

*chevron_right*

*filter_none*

## C#

`// C# implementation to find area of ` `// largest Rectangle without hole ` `// within a given Rectangle ` `using` `System; ` ` ` `class` `GFG{ ` ` ` `// Function to find the maximum area ` `// such that it does not contains any hole ` `static` `void` `maximumArea(` `int` `l, ` `int` `b, ` ` ` `int` `x, ` `int` `y) ` `{ ` ` ` ` ` `// Area for all the possible ` ` ` `// positions of the cut ` ` ` `int` `left, right, above, below; ` ` ` ` ` `left = x * b; ` ` ` `right = (l - x - 1) * b; ` ` ` `above = l * y; ` ` ` `below = (b - y - 1) * l; ` ` ` ` ` `// Find the maximum area ` ` ` `// among the above rectangles ` ` ` `Console.Write(Math.Max(Math.Max(left, right), ` ` ` `Math.Max(above, below))); ` `} ` ` ` `// Driver Code ` `public` `static` `void` `Main(String[] args) ` `{ ` ` ` `int` `L = 8, B = 8; ` ` ` `int` `X = 0, Y = 0; ` ` ` ` ` `// Function call ` ` ` `maximumArea(L, B, X, Y); ` `} ` `} ` ` ` `// This code is contributed by 29AjayKumar ` |

*chevron_right*

*filter_none*

**Output:**

56

**Performance Analysis:**

**Time Complexity:**There is a simple computation which does not involves any iterations or recursions. Hence the Time Complexity will be**O(1)**.**Auxiliary Space Complexity:**There is no extra space used. Hence the auxiliary space complexity will be**O(1)**.

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.

## Recommended Posts:

- Maximum area of a Rectangle that can be circumscribed about a given Rectangle of size LxW
- Ratio of area of a rectangle with the rectangle inscribed in it
- Largest subset of rectangles such that no rectangle fit in any other rectangle
- Area of the largest rectangle formed by lines parallel to X and Y axis from given set of points
- Area of the largest rectangle possible from given coordinates
- Area of Largest rectangle that can be inscribed in an Ellipse
- Area of largest triangle that can be inscribed within a rectangle
- Check whether a given point lies inside a rectangle or not
- Finding the best fit rectangle that covers a given point
- Check whether a given point lies on or inside the rectangle | Set 3
- Check if any point overlaps the given Circle and Rectangle
- Find minimum area of rectangle with given set of coordinates
- Maximum area of rectangle possible with given perimeter
- Check if a point lies on or inside a rectangle | Set-2
- Maximum area rectangle by picking four sides from array
- Area of a triangle inscribed in a rectangle which is inscribed in an ellipse
- Program for Area And Perimeter Of Rectangle
- Area of the biggest possible rhombus that can be inscribed in a rectangle
- Number of squares of maximum area in a rectangle
- Area and Perimeter of Rectangle in PL/SQL

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.