#XMOJ10965. 发糖果

发糖果

说明

时间限制:1 Sec 内存限制:256 MB 输入文件candy.in 输出文件candy.out

数轴上有 $N$ 栋房子。第 $i$ 栋房子的坐标为 $A_i$,且每栋房子都有 $2$ 个孩子。

第 $i$ 栋房子的两个孩子分别沿数轴的负方向前进 $L_i$ 距离、正方向前进 $ R_i $ 距离,途中会给经过的房子分发糖果。若坐标 $A_i - L_i$ 或 $A_i + R_i$ 处存在其他房子,该房子会被视为“经过的房子”。简言之,第 $i$ 栋房子的孩子会给所有坐标落在区间 $ [A_i - L_i, A_i + R_i]$ 内的房子分发糖果。

请统计满足以下条件的有序对 (i,j)(i, j) (i<j)(i< j) 的数量:

- 第 $i$ 栋房子能从第 $j$ 栋房子的孩子那里得到糖果;

- 第 $j$ 栋房子能从第 $i$ 栋房子的孩子那里得到糖果。

注:假设每个房子的孩子都有足够多的糖果。

输入格式

第一行一个整数 $N$。

第二行 $N$ 个整数 $A_1,A_2,\cdots,A_N$。

输出格式

输出满足条件的有序对 (i,j) (i, j) (i<j)( i <j )的数量。

样例

样例 1

4
1 2 4 7
3 5
0 3
3 4
2 2

2

样例说明:

满足条件的有序对 (i,j)(i, j) (1,3)(1, 3)(2,3)(2, 3),共 22 组。

样例 2

2
0 3
1 2
5 4

0

样例 3

6
1 2 3 4 5 9
1 10
7 3
5 6
3 4
3 9
3 0

9

数据范围

对于 16% 的数据,$ N \le 10 $。

对于 24% 的数据,$ N \le 100 $。

对于 36% 的数据,$ N \le 1000 $。

对于 56% 的数据,$ N \le 30000 $。

对于 100% 的数据,$ 2 \leq N \leq 3 \times 10^5 , 0 \leq A_1 < A_2 < \dots < A_N \leq 10^9 , 0 \leq L_i, R_i \leq 10^9 $。