20100 - 完美对的数目

给定一个整数数组 nums,如果一对下标 (i, j) 满足以下条件,则称其为完美对

  1. i < j
  2. a = nums[i]b = nums[j],满足:
    • min(|a - b|, |a + b|) <= min(|a|, |b|)
    • max(|a - b|, |a + b|) >= max(|a|, |b|)

返回数组中完美对的数量。

输入

第一行包含一个整数 n,表示数组长度。

第二行包含 n 个整数 nums[0], nums[1], ..., nums[n-1]

输出

输出一个整数,表示完美对的数量。

样例

输入

4
0 1 2 3

输出

2

输入

4
-3 2 -1 4

输出

4

输入

4
1 10 100 1000

输出

0

提示

示例 1

解释

有 2 个完美对:

(i, j)(a, b)min(|a-b|, |a+b|)min(|a|, |b|)max(|a-b|, |a+b|)max(|a|, |b|)
(1, 2)(1, 2)min(1, 3) = 11max(1, 3) = 32
(2, 3)(2, 3)min(1, 5) = 12max(1, 5) = 53

示例 2

解释

有 4 个完美对:

(i, j)(a, b)min(|a-b|, |a+b|)min(|a|, |b|)max(|a-b|, |a+b|)max(|a|, |b|)
(0, 1)(-3, 2)min(5, 1) = 12max(5, 1) = 53
(0, 3)(-3, 4)min(7, 1) = 13max(7, 1) = 74
(1, 2)(2, -1)min(3, 1) = 11max(3, 1) = 32
(1, 3)(2, 4)min(2, 6) = 22max(2, 6) = 64

示例 3

解释

没有完美对,因此答案是 0。

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题