#P12931. [NOISG 2020 Prelim] Mountains

    ID: 12692 Type: RemoteJudge 2000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>2020NOISG(新加坡)

[NOISG 2020 Prelim] Mountains

题目背景

企鹅 Pengu 和他的朋友们生活在南极洲。虽然企鹅不会飞,但他们渴望体验翱翔天际的感觉。为了满足大家的愿望,Pengu 决定借助科技的力量——滑翔伞。

题目描述

幸运的是,在南极横贯山脉中有 nn 座山峰。这些山峰从左到右依次编号为 11nn,第 ii 座山峰的高度为 HiH_i

Pengu 决定选择三座山峰 x,y,zx,y,z,他打算在山峰 yy 上建立起飞站,在山峰 xxzz 上分别设置接收站。企鹅们将从山峰 yy 滑翔至山峰 xxzz

为了容纳更多企鹅并避免空中相撞,山峰 xx 必须位于山峰 yy 左侧,山峰 zz 必须位于山峰 yy 右侧,并且山峰 xxzz 的高度必须都严格小于山峰 yy

Pengu 非常严谨,他想统计所有满足条件的选择方案。请你帮他计算,满足以下条件的三元组 (x,y,z)(x,y,z) 有多少个:

  • 1x<y<zn1 \leq x < y < z \leq n
  • Hx<HyH_x < H_yHz<HyH_z < H_y

输入格式

第一行包含一个整数 nn,表示山峰的数量。

第二行包含 nn 个整数,第 ii 个整数表示第 ii 座山峰的高度 HiH_i

输出格式

输出一个整数,表示满足条件的方案总数。

5
0 1 1 0 1
2
6
500 20 900 0 900 70
7

提示

【样例解释】

对于样例 #1:

  • 共有 22 组满足条件的三元组:(1,2,4)(1,2,4)(1,3,4)(1,3,4)

对于样例 #2:

  • 共有 77 组满足条件的三元组:(1,3,4)(1,3,4)(1,3,6)(1,3,6)(1,5,6)(1,5,6)(2,3,4)(2,3,4)(2,3,6)(2,3,6)(2,5,6)(2,5,6)(4,5,6)(4,5,6)

【数据范围】

  • 3n3×1053 \leq n \leq 3 \times 10^5
  • 0Hi10180 \leq H_i \leq 10^{18}
子任务编号 分值 额外限制
11 22 HiH_i 单调不减(即 HiHjH_i \leq H_j,对任意 i<ji < j
22 44 0Hi10 \leq H_i \leq 1
33 99 0Hi990 \leq H_i \leq 99
44 3636 n500n \leq 500
55 2828 n104n \leq 10^4
66 99 0Hi1050 \leq H_i \leq 10^5
77 1212 无额外限制