#cacc20252A. Alice 的绝对值

Alice 的绝对值

时间限制: 1.0 秒

空间限制: 256 MB

题目描述

Alice 对绝对值运算很感兴趣,现在,她有一个长度为 nn 的序列 aia_i,她想知道有多少对满足 i<ji<j 的 (i,j)(i,j) 满足:

  • max⁡(∣ai−aj∣,∣ai+aj∣)≥max⁡(∣ai∣,∣aj∣)\max(|a_i-a_j|,|a_i+a_j|)\geq \max(|a_i|,|a_j|)
  • min⁡(∣ai−aj∣,∣ai+aj∣)≤min⁡(∣ai∣,∣aj∣)\min(|a_i-a_j|,|a_i+a_j|)\leq \min(|a_i|,|a_j|)

你只需要告诉 Alice 满足上述条件的 (i,j)(i,j) 数对个数即可。

输入格式

从标准输入读入数据。

第一行输入一个正整数 nn,表示序列长度。

第二行输入 nn 个整数 aia_i,表示这个序列。

输出格式

输出到标准输出。

输出一行一个整数,表示你的答案。

3
1 -2 3
2

子任务

对于所有数据,保证 1≤n≤105, −109≤ai≤1091\le n\le 10^5,~-10^9\le a_i\le 10^9。

测试点编号 n≤n\le 特殊性质
1∼41\sim 4 10310^3 无
5∼65\sim 6 10510^5 ai≥0a_i\ge 0
7∼87\sim 8 所有 aia_i 相等
9∼109\sim 10 只有两种数值不同的 aia_i
11∼2011\sim 20 无