题目链接
AC代码
昨天回上海了,一直都在路上,没啥时间写,今天补上。(快乐的7.1在7.2才开始
这题用单调栈或者笛卡尔树就能解决。
注意到美丽度的定义,对于同一个最小值,区间长度肯定越长越好。
枚举所有最小值,借助单调栈可以找到前面和后面离当前元素最近且比当前元素小的元素下标,以当前元素为最小值且最长的区间也就找出来了。
然后取最大值就是答案了。
bonus:这题中(a_i ge 0),所以对于同一个最小值,区间长度肯定越长越好。如果条件换成(|a_i| le 2 imes 10^6)呢?