#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
int h[N];
int main() {
int n;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
scanf("%d", &h[i]);
}
int result = 0;
//sort(h+1,h+n+1);
for (int i = 1; i <= n; i++) {
int d = 0;
for (int j = i ; j <= n; j++) {
if (h[j] >= h[i]) {
d++;
} else {
break;
}
}
for (int j = i - 1; j > 0; j--) {
if (h[j] >= h[i]) {
d++;
} else {
break;
}
}
result=max(result,d*h[i]);
}
printf("%d\n",result);
return 0;
}
最大的矩形
最新推荐文章于 2024-09-26 21:10:57 发布
本文介绍了一种解决算法问题的方法,通过C++实现,计算给定数组中每个元素使其右侧元素大于等于它的最大连续子数组长度,并返回这些子数组乘以其对应元素的最大值。代码展示了如何巧妙地使用两个指针来简化查找过程。
摘要由CSDN通过智能技术生成