4172 - 三角形统计

题目描述

给定一个长度为 N 的整数序列 A,其中第 i 个元素为 A_i

请从中选取三个不同的下标 i,j,k(满足 1 \le i < j < k \le N),使得三条边长分别为 A_i, A_j, A_k 的三条线段能够构成一个三角形。

三角形成立的条件为: A_i + A_j > A_k,\quad A_i + A_k > A_j,\quad A_j + A_k > A_i

请你统计满足上述条件的下标三元组 (i, j, k) 的数量。

输入

第一行输入一个整数 N

第二行输入 N 个整数 A_i

输出

输出一个整数,表示可以构成三角形的下标三元组数量。

样例

输入

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 \le i < j < k \le 4 的三元组共有 4 组,对应的数值如下:

  • (A_1, A_2, A_3) = (3, 4, 2):满足 3+4>2, 3+2>4, 4+2>3,可构成三角形。
  • (A_1, A_2, A_4) = (3, 4, 1):因为 3+1=4,不满足任意两边之和大于第三边。
  • (A_1, A_3, A_4) = (3, 2, 1):因为 2+1=3,不满足。
  • (A_2, A_3, A_4) = (4, 2, 1):因为 2+1 < 4,不满足。

故答案为 1。

数据范围

对于 20\% 的数据,满足 3 \le N \le 20

对于 100\% 的数据,满足 3 \le N \le 20001 \le A_i \le 1000

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 0
通过人数 0
金币数量 4 枚
难度 基础


上一题 下一题