#2180. 徐老师的能量碰撞

徐老师的能量碰撞

题目描述

现在徐老师给机器人准备了 nn 块电极,电极分两种,正电极和负电极,并且每块电极都有自己的电量

而徐老师发现当两块电量相等的正电极和负电极(也就是相加为 00 的两块电极)合并时,可以给机器人快速充电

现在徐老师想知道,有多少种选择电极的方案可以给机器人快速充电?

输入格式

第一行包含一个整数nn,表示电极数量

第二行包含 nn 个整数,分别表示每个电极的电量,为了方便表示,正电极用的电量用正数表示,负电极的电量用负数表示

例如:

  • 55 表示一块正电极,电量为 55
  • 10-10 表示一块负电极,电量为 1010

输出格式

输出包含一个整数,表示徐老师的可选择方案数量

数据范围

数据点编号 nn aia_i
121 \sim 2 1n501 \le n \le 50 10ai10-10 \leq a_i \leq 10
33 ai=0a_i=0
44 1n1000001 \le n \le 100000
565 \sim 6 ai=1a_i = 1ai=1a_i=-1
7107 \sim 10 100ai100-100 \leq a_i \leq 100

样例输入1

7
1 1 -1 -1 2 0 0

样例输出1

5

样例解释1

以下用编号表示选择的电极,方案为:(1,3),(1,4),(2,3),(2,4),(6,7)(1,3),(1,4),(2,3),(2,4),(6,7)

样例输入2

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

样例输出2

12