完全平方数
C++ GESP真题 三级 2024.3 #2
EXY-PG-0134
时间限制:1s 内存限制:512MB

题目描述

小杨同学有一个包含 $n$ 个非负整数的序列 $A$,他想要知道其中有多少对下标组合 $\langle i,j\rangle$($1 \leq i < j \leq n$),使得 $A_i + A_j$ 是完全平方数。

如果 $x$ 是完全平方数,则存在非负整数 $y$ 使得 $y \times y = x$。

输入格式

第一行一个非负整数 $n$,表示非负整数个数。

第二行包含 $n$ 个非负整数 $A_1, A_2, \dots A_n$,表示序列 $A$ 包含的非负整数。

输出格式

输出一个非负整数,表示和是完全平方数的非负整数对数。

样例说明

样例 1
输入:
5
1 4 3 3 5
输出:
3

数据范围

对于全部数据,保证有 $1 \leq n \leq 1000$,$0 \leq A_i \leq 10^5$。