#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$
- 输入中的所有值都是整数。
输入
从标准输入中按以下格式输入:
输出
打印选择三根长度不同的木棒,能够组成一个三角形的方法数。
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$。