给定一个长度为n的整数数组[a1,a2,…,an],我们称一个数组是“好数组”,当且仅当将该数组的一个后缀整体移动到最前面后,该数组变成非降序。举例:
游游定义一个数组是“好数组",当仅当将该数组的一个后缀整体移动到最前面后,该数组变成非降序。 例如:
[3,7,7,9,2,3] 是好数组,因为可以将 [2,3] 移动到前面,数组变成 [2,3,3,7,7,9] 。
[1,2,3,4,5] 是好数组,因为可以将 [1,2.3,4,5] 移动到最前面,该数组不变,依然非降序。
[5,2,2,1] 不是好数组。
现在给定一个数组,游游希望你求出有多少非空连续子数组是好数组。
连续子数组为从原数组中,连续的选择一段元素(可以全选)得到的新数组。
第一行输入一个正整数 n ,代表数组的大小。
第二行输入 n 个正整数 ai ,代表游游拿到的数组。
1≤n≤105
1≤ai≤109
一个正整数,代表连续好子数组的数量。
输入
3
3 2 1
输出
5
说明
3 个大小为 1 的和 2 个大小为 2 的连续子数组均为好数组。
大小为 3 的 [3,2,1] 不是好数组。所以共有 5 个连续好子数组。