#190. 完全平方对

    ID: 190 传统题 1000ms 256MiB 尝试: 2 已通过: 1 难度: 普及+/提高− 上传者: 标签>动态规划数学数论状态压缩DP

完全平方对

题目描述

有一个包含 nn 个正整数的序列 A=[a1,a2,…,an]A=[a_1,a_2,\ldots,a_n]。

我们现在想知道有多少对 ⟨l,r⟩(1≤l≤r≤n)\langle l,r\rangle(1\leq l\leq r\leq n) 满足 al×al+1×…×ara_l\times a_{l+1}\times\ldots\times a_r 为完全平方数。

一个正整数 xx 为完全平方数当且仅当存在一个正整数 yy 使得 x=y×yx=y\times y。

输入格式

第一行包含一个正整数 nn,代表正整数个数。

第二行包含 nn 个正整数 aia_i,代表序列 AA。

输出格式

输出一个整数,代表满足要求的 ⟨l,r⟩\langle l,r\rangle 数量。

样例输入1

5
3 2 4 3 2

样例输出1

2

说明

样例解释

满足条件的 ⟨l,r⟩\langle l,r\rangle 有 ⟨1,5⟩\langle 1,5\rangle 和 ⟨3,3⟩\langle 3,3\rangle。

数据范围

子任务编号 数据点占比 nn aia_i
11 20%20\% ≤105\leq 10^5 1≤ai≤21\leq a_i\leq 2
22 40%40\% ≤100\leq 100 1≤ai≤301\leq a_i\leq 30
33 40%40 \% ≤105\leq 10^5 1≤ai≤301 \leq a_i\leq 30