#AT1632. B - Making Triangle

B - Making Triangle

B - 构建三角形

得分:$200$ 分

问题描述

我们有编号为 $1, \cdots, N$ 的木棒。第 $i$ 根木棒 $(1 \leq i \leq N)$ 的长度为 $L_i$。

我们有多少种选择三根长度不同的木棒,使其可以组成一个三角形?

也就是说,找出满足以下条件的整数三元组 $(i, j, k)$ $(1 \leq i < j < k \leq N)$ 的个数:

  • $L_i$、$L_j$ 和 $L_k$ 都不相同。
  • 存在一个三角形,其边长为 $L_i$、$L_j$ 和 $L_k$。

约束

  • $1 \leq N \leq 100$
  • $1 \leq L_i \leq 10^9$
  • 输入中的所有值都是整数。

输入

从标准输入中按以下格式输入:

NN

L1L_1 L2L_2 \cdots LNL_N

输出

打印选择三根长度不同的木棒,能够组成一个三角形的方法数。


5
4 4 9 7 5
5

以下五个三元组 $(i, j, k)$ 满足条件:$(1, 3, 4)$、$(1, 4, 5)$、$(2, 3, 4)$、$(2, 4, 5)$ 和 $(3, 4, 5)$。


6
4 5 4 3 3 5
8

对于长度为 $3$、$4$ 和 $5$ 的木棒,我们有两根。要满足第一个条件,我们需要从每个长度中选择一根。

存在一个边长为 $3$、$4$ 和 $5$ 的三角形,所以满足条件的三元组 $(i, j, k)$ 有 $2 ^ 3 = 8$ 个。


10
9 4 6 1 9 6 10 6 6 8
39

2
1 1
0

没有满足 $1 \leq i < j < k \leq N$ 的三元组 $(i, j, k)$,因此我们应该输出 $0$。