给定一个长度为 N 的整数序列 A,其中第 i 个元素为 Ai。
请从中选取三个不同的下标 i,j,k(满足 1≤i<j<k≤N),使得三条边长分别为 Ai,Aj,Ak的三条线段能够构成一个三角形。
三角形成立的条件为: Ai+Aj>Ak,Ai+Ak>Aj,Aj+Ak>Ai
请你统计满足上述条件的下标三元组 (i,j,k) 的数量。
第一行输入一个整数 N。
第二行输入 N 个整数 Ai。
输出一个整数,表示可以构成三角形的下标三元组数量。
4 3 4 2 1
1
3 1 1000 1
0
7 218 786 704 233 645 728 389
23
说明
样例说明 #1
序列为 [3,4,2,1]。满足 1≤i<j<k≤4 的三元组共有 4 组,对应的数值如下: ·(A1,A2,A3)=(3,4,2):满足 3+4>2,3+2>4,4+2>3,可构成三角形。
·(A1,A2,A4)=(3,4,1):因为 3+1=4,不满足任意两边之和大于第三边。
·(A1,A3,A4)=(3,2,1):因为 2+1=3,不满足。
·(A2,A3,A4)=(4,2,1):因为 2+1<4,不满足。
故答案为 1。
数据范围 对于 20% 的数据,满足 3≤N≤20。
对于 100% 的数据,满足 3≤N≤2000,1≤Ai≤1000。
| 时间限制 | 1 秒 |
| 内存限制 | 128 MB |