#2356. [经开区]直角三角形(rt)

[经开区]直角三角形(rt)

当前没有测试数据。

题目描述

国豪和国庆很喜欢数学,他们很早就自学了三角形的相关知识。 三角形的三边长分别用a、b、c三个字母表示,如果这三边的边长满 足如下关系:a²+b²=c²,则说明它们构成了一个直角三角形,且a和b 为直角边,c为斜边。现给出n条边的边长,请你从中选出三条边, 让它们能构成一个直角三角形,请问一共能构成多少个直角三角形。

输入格式

共两行。第一行, 一个整数n,表示有n条边。第二行n个正整数,表示每条边的长度。

输出格式

共一行, 一个整数,表示能构成的直角三角形的个数。

样例

7
4 3 4 1 3 5 4
6

解释#1

a²读a的平方,表示有2个a相乘,即a×a。

对于样例输入,可以从7条边中选出边长为3、4、5的三条边,因为3²+4²=5²,所以这三条边能构成一个直角三角形,又因为3出现了2次,4出现了3次,所以一共能构成2*3=6个直角三角形。

数据范围

  • 对于 100%100\% 的测试数据满足:3<=n<=100000, 1<=每条边的长度<=1000。