提交时间:2024-04-21 21:09:58

运行 ID: 46008

#include <bits/stdc++.h> using namespace std; int h[10001], l[10001], r[10001]; int main(){ int n, maxn = 0, sum; cin >> n; for(int i = 0; i < n; i++){ cin >> h[i]; l[i] = i; r[i] = i; } for(int i = 0; i < n; i++){ while(l[i] > i && h[i] <= h[l[i] - 1]){ l[i] = l[l[i] - 1]; } } for(int i = 0; i < n; i++){ while(r[i] < n && h[i] <= h[r[i] + 1]){ r[i] = r[r[i] + 1]; } } for(int i = 0; i < n; i++){ sum = h[i] * (r[i] - l[i] + 1); maxn = max(sum, maxn); } cout << maxn; return 0; }