CF1693D Decinc Dividing

题目描述

定义一个序列 $a$ 是好的,仅当可以通过删除 $a$ 的一个单调递减子序列(可以为空)使得 $a$ 单调递增。 给定一个 $1\sim n$ 的排列 $p$,你需要求出 $p$ 有多少子段是好的。

输入格式

第一行输入一个整数 $n(1\leq n\leq2\times10^5)$。 接下来一行输入 $n$ 个整数 $p_1,p_2,\cdots,p_n(1\leq p_i\leq n)$,保证 $p_i$ 互不相同。

输出格式

输出一行一个整数表示好的子段个数。 ### 样例解释 对于样例一,所有 $p$ 的子段都是好的。 对于样例二: - 例如 $p[1,5]$ 是好的,因为 $\{4,5,2,6,1\}$ 可以通过删除单调递减子序列 $\{4,2,1\}$ 得到一个单调递增序列 $\{5,6\}$。 - 事实上,除了 $p[1,6],p[2,6]$ 之外的所有子段都是好的。

说明/提示

In the first sample, all subarrays are Decinc. In the second sample, all subarrays except $ p[1 \ldots 6] $ and $ p[2 \ldots 6] $ are Decinc.