AT_abc379_f [ABC379F] Buildings 2

题目描述

[problemUrl]: https://atcoder.jp/contests/abc379/tasks/abc379_f 有 $N$ 栋建筑从西向东依次排列,编号为建筑 $1$ 到建筑 $N$,其中建筑 $1$ 位于最西侧,建筑 $N$ 位于最东侧。建筑 $i$($1 \leq i \leq N$)的高度为 $H_i$。 对于整数对 $(i,j)$($1 \leq i < j \leq N$),当满足以下条件时,可以从建筑 $i$ 看到建筑 $j$: - 在建筑 $i$ 和建筑 $j$ 之间不存在比建筑 $j$ 更高的建筑。即,不存在整数 $k$($i < k < j$)满足 $H_k > H_j$。 现在需要回答 $Q$ 个询问。第 $i$ 个询问给出整数对 $(l_i, r_i)$($l_i < r_i$),要求统计在建筑 $r_i$ 东侧的建筑(即建筑 $r_i+1$, 建筑 $r_i+2$, $\ldots$, 建筑 $N$)中,能够同时从建筑 $l_i$ 和建筑 $r_i$ 看到的建筑数量。

输入格式

输入通过标准输入给出,格式如下: > $N$ $Q$ > $H_1$ $H_2$ $\ldots$ $H_N$ > $l_1$ $r_1$ > $l_2$ $r_2$ > $\vdots$ > $l_Q$ $r_Q$

输出格式

输出 $Q$ 行。第 $i$ 行($1 \leq i \leq Q$)输出第 $i$ 个询问的答案。

说明/提示

### 约束条件 - $2 \leq N \leq 2 \times 10^5$ - $1 \leq Q \leq 2 \times 10^5$ - $1 \leq H_i \leq N$ - $H_i \neq H_j$($i \neq j$) - $1 \leq l_i < r_i \leq N$ - 输入中的所有值均为整数 ### 样例解释 #1 - 对于第一个询问,在建筑 $2$ 东侧的建筑中,能够同时从建筑 $1$ 和建筑 $2$ 看到的建筑有建筑 $3$ 和建筑 $5$,共 $2$ 栋。 - 对于第二个询问,建筑 $5$ 东侧没有建筑。 - 对于第三个询问,在建筑 $4$ 东侧的建筑中,能够同时从建筑 $1$ 和建筑 $4$ 看到的建筑只有建筑 $5$,共 $1$ 栋。 翻译由 DeepSeek V3 完成