题目描述 在一个平面直角坐标系中,有 n 个矩形,这些矩形的底边都靠在 X 轴上。其中第 i 个矩形的的底边覆盖了从 l_i 到 r_i 的坐标,这个矩形的高为 h_i。 输入格式 第一行:一个整数 n。 接下来 n 行,第 i 行三个整数表示 l_i, r_i 与 h_i。 输出格式 一个整数,表示这些矩形覆盖的范围。 数据范围 1 <= n <= 300,000; 1 <= l_i, r_i, h_i <= 10^9 样例输入 3 1 10 3 2 8 5 3 6 7 样例输出 45 给出C++代码
时间: 2024-02-15 17:01:19 浏览: 152
高考试题分类考点37空间直角坐标系空间向量及其运算.pdf
```c++
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <stack>
using namespace std;
const int N = 300010;
typedef long long LL;
int n;
int l[N], r[N], h[N];
int main()
{
scanf("%d", &n);
for (int i = 0; i < n; i ++ ) scanf("%d%d%d", &l[i], &r[i], &h[i]);
stack<int> q;
q.push(0);
LL res = 0;
for (int i = 1; i <= n; i ++ )
{
int hh = i == n ? 0 : h[i];
while (h[q.top()] > hh)
{
int t = q.top();
q.pop();
res = max(res, (LL)h[t] * (i - q.top() - 1));
}
q.push(i);
}
printf("%lld\n", res);
return 0;
}
```
阅读全文