#P5375. 宝石配对

宝石配对

题目描述

小红收集了 nn 颗神奇的能量宝石,每颗宝石可能是正能量宝石(红色,能量值为正数)、负能量宝石(蓝色,能量值为负数),也可能是能量值为 00 的宝石。当一颗红色宝石和一颗蓝色宝石的能量值绝对值相等时,它们可以配对产生强大的能量波;能量值为 00 的宝石不能与非 00 能量值的宝石配对,但可与其他能量值为 00 的宝石配对。

小红想知道她有多少种不同的宝石配对方案可以产生能量波?

输入格式

第一行包含一个整数 nn,表示能量宝石的数量。 第二行包含 nn 个整数,分别表示每个能量宝石的能量值(正能量为正数,负能量为负数,0 能量为 0)。

输出格式

输出一个整数,表示小红可选择的配对方案数量。

样例输入 1

7
1 1 -1 -1 2 0 0

样例输出 1

5

样例输入 2

10
1 2 1 -2 -1 2 -2 1 -1 2

样例输出 2

12

提示

样例 1 解释

以输入顺序的编号标识宝石,合法配对方案如下:

  • 正能量 1(编号 1、2)与负能量 -1(编号 3、4)的配对:(1,3)、(1,4)、(2,3)、(2,4)(共 4 种);
  • 能量值 0(编号 6、7)的配对:(6,7)(共 1 种); 总计 4+1=54 + 1 = 5 种方案。

样例 2 解释

统计各类能量值的宝石数量后计算配对数:

  • 能量值 1 的宝石有 3 颗,能量值 -1 的宝石有 2 颗,配对数为 3×2=63 \times 2 = 6
  • 能量值 2 的宝石有 3 颗,能量值 -2 的宝石有 2 颗,配对数为 3×2=63 \times 2 = 6; 总计 6+6=126 + 6 = 12 种方案。