while True: n_h = list(map(int, input().split())) if n_h[0] == 0: break n = n_h[0] l, r = [0] * (n + 1), [n + 1] * (n + 1) stack = [] for i in range(1, n + 1): while stack and n_h[stack[-1]] >= n_h[i]: r[stack[-1]] = i stack.pop() l[i] = stack[-1] if stack else 0 stack.append(i) ans = max((r[i] - l[i] - 1) * n_h[i] for i in range(1, n + 1)) if n > 0 else 0 print(ans)
AcWing 1413. 矩形牛棚(每日一题) - AcWing
r,c,p=map(int,input().split()) ans=[[0 for _