#4592. abc388c镜饼

abc388c镜饼

问题描述

NN 个米糕,按大小升序排列。第 ii 个米糕 (1iN)(1 \leq i \leq N) 的大小为 AiA_i

给定两个米糕 AABB,大小分别为 aabb,如果 aa 最多是 bb 的一半,则可以将米糕 AA 放在米糕 BB 上,制成一个镜饼(叠放的米糕)。

NN 个米糕中选择两个,将一个放在另一个上面,形成一个镜饼。

求可以制作出多少种不同的镜饼。

如果至少有一个米糕不同,则两种镜饼被认为是不同的,即使米糕的大小相同。

输入

输入从标准输入以以下格式给出:

NN

A1A_1 A2A_2 \cdots ANA_N

示例输入 1

6
2 3 4 4 7 10

示例输出 1

8

解释:

在这种情况下,可以制作以下八种镜饼:

请注意,有两种镜饼是大小为 44 的米糕放在大小为 22 的米糕上,还有两种是大小为 1010 的米糕放在大小为 44 的米糕上。

示例输入 2

3
387 388 389

示例输出 2

0

有可能无法制作任何镜饼。

示例输入 3

32
1 2 4 5 8 10 12 16 19 25 33 40 50 64 87 101 149 175 202 211 278 314 355 405 412 420 442 481 512 582 600 641

示例输出 3

388

数据规模

对于100%的数据

  • 2N5×1052 \leq N \leq 5 \times 10^5
  • 1Ai109 (1iN)1 \leq A_i \leq 10^9 \ (1 \leq i \leq N)

对于其中20%的数据: AiAi+1 (1i<N)A_i \leq A_{i+1} \ (1 \leq i \lt N)

对于其中20%的数据: 2N5×1022 \leq N \leq 5 \times 10^2

}