题解
对于每个矩形,左右扫描一下找到第一个比其高度更小的矩形。
维护一个单调递增栈,即从栈底到栈顶严格递增,这样,栈顶就是第一个更小的值。
维护两个数组,L[i] 和 R[i] 分别表示第 i 个矩形的这两个下标。
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
typedef long long ll;
const int maxn = 100000 + 10;
int n;