小龙虾的算术
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目
- 小龙虾有一个由
n
个正整数组成的序列{a₁, a₂,..., aₙ}
,其中 且1 ≤ aᵢ ≤ n
。 - 对于序列的所有区间
[i, j]
(1 ≤ i < j ≤ n
),定义两个函数c(i, j)
和d(i, j)
:c(i, j)
的定义:- 若
aᵢ = aⱼ
,则c(i, j)
等于区间[i, j]
中比两端(即aᵢ
)大的元素的个数。 - 若
aᵢ ≠ aⱼ
,则c(i, j) = 0
。
- 若
d(i, j)
的定义:- 若区间
[i, j]
的长度(即j - i + 1
)是奇数,则d(i, j) = 1
。 - 若区间
[i, j]
的长度是偶数,则d(i, j) = 2
。
- 若区间
- 要求计算序列
a
中所有区间的c(i, j) × d(i, j)
之和。
输入描述
- 第一行输入一个整数
n
,表示序列中的元素个数。 - 第二行输入
n
个整数a₁, a₂,..., aₙ
,表示序列中的元素。
输出描述
- 在一行中输出一个整数,代表所有
c(i, j) × d(i, j)
之和。
示例 1
-
输入:
6 1 1 4 5 1 4
-
输出:
8
-
说明:
- 在这个样例中,除
c(1, 5) = 2
、c(2, 5) = 2
、c(3, 6) = 1
外,其余c(i, j)
均为 0。 - 对于非零的
c(i, j)
,d(1, 5) = 1
、d(2, 5) = 2
、d(3, 6) = 2
。 - 最终计算结果为
2×1 + 2×2 + 1×2 = 8
。
- 在这个样例中,除
-
数据范围与提示
-
对于的数据,.
-
对于另外的数据,.