Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
46008 | zhouhuanyu 玙静 | 最大的矩形纸片 | C++ | 通过 | 1 MS | 264 KB | 544 | 2024-04-21 21:09:58 |
#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; }