
小红定义一个数组的权值为:将其从小到大排序后,
不动点![^\texttt{[1]}](https://www.nowcoder.com/equation?tex=%5E%5Ctexttt%7B%5B1%5D%7D)
的数量。

现在,小红拿到了一个长为

的
排列![^\texttt{[2]}](https://www.nowcoder.com/equation?tex=%5E%5Ctexttt%7B%5B2%5D%7D)
,他想知道其所有
子数组![^\texttt{[3]}](https://www.nowcoder.com/equation?tex=%5E%5Ctexttt%7B%5B3%5D%7D)
的权值之和,请你帮帮她。
【名词解释】
不动点![^\texttt{[1]}](https://www.nowcoder.com/equation?tex=%5E%5Ctexttt%7B%5B1%5D%7D)
:
定义整数
是长度为
的数组
的一个不动点,当且仅当满足
。
排列![^\texttt{[2]}](https://www.nowcoder.com/equation?tex=%5E%5Ctexttt%7B%5B2%5D%7D)
:长度为

的排列是由

这

个整数、按任意顺序组成的数组(每个整数均恰好出现一次)。例如,

是一个长度为

的排列,而

和

都不是排列,因为前者存在重复元素,后者包含了超出范围的数。
子数组![^\texttt{[3]}](https://www.nowcoder.com/equation?tex=%5E%5Ctexttt%7B%5B3%5D%7D)
:从原数组中,连续的选择一段元素(可以全选、可以不选)得到的新数组。