Untitled Question

Added: 2025-09-12 22:42:10

Question Image

Untitled Question

Answer

✏️ Edit
def largestRectangleArea(heights):
    stack = []
    max_area = 0
    
    for i in range(len(heights)):
        while stack and heights[i] < heights[stack[-1]]:
            h = heights[stack.pop()]
            w = i if not stack else i - stack[-1] - 1
            max_area = max(max_area, h * w)
        stack.append(i)
    
    while stack:
        h = heights[stack.pop()]
        w = len(heights) if not stack else len(heights) - stack[-1] - 1
        max_area = max(max_area, h * w)
    
    return max_area

input_line = input().strip()
if input_line.startswith('[') and input_line.endswith(']'):
    heights_str = input_line[1:-1]
    heights = list(map(int, heights_str.split(',')))
else:
    heights = list(map(int, input_line.split()))

print(largestRectangleArea(heights))