Square, Not Rectangle
InterviewTime limit1.5sMemory limit1024 MB
Given bar heights of a histogram with unit widths, find the side length of the largest axis-aligned square that fits inside it.
- Level
Medium6 of 10
- Topics
- Stack, Array, Binary search, Greedy
- Solved
- No attempts yet
Problem
A histogram is a polygon made by aligning adjacent rectangles that share a common base line. Each rectangle is called a bar. The -th bar from the left has width 1 and height .
Your goal is to find the area of the largest rectangle contained in the given histogram, such that one of the sides is parallel to the base line.

Figure 1. The histogram given in the example, with the largest rectangle shown on the right.
Actually, no, you have to find the largest square. Since the area of a square is determined by its side length, you are required to output the side length instead of the area.

Figure 2. The histogram given in the example, with the largest square shown on the right.
Input
On the first line, a single integer is given, where .
On the next line, space-separated integers , are given. is the height of the -th bar.
Output
Output the side length of the largest square contained in the histogram, such that one of the sides is parallel to the base line.