统计序列中乘积为完全平方数的区间数量

xf899964 程序题 共 个子题

题面描述

小杨有一个包含n个正整数的序列$A=[a_1,a_2,\dots,a_n]$,需要计算有多少对$\langle l,r \rangle$($1 \le l \le r \le n$)满足$a_l \times a_{l+1} \times \dots \times a_r$为完全平方数。 一个正整数$x$为完全平方数当且仅当存在正整数$y$使得$x=y \times y$。

输入格式

第一行包含一个正整数$n$,代表正整数个数。 第二行包含$n$个正整数$a_1,a_2,\dots,a_n$,代表序列$A$。

输出格式

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

样例1

输入:

5
3 2 4 3 2

输出:

2

样例解释

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

数据范围

子任务编号 数据点占比 $n$ $a_i$
1 20% $\le 10^5$ $1 \le a_i \le 2$
2 40% $\le 100$ $1 \le a_i \le 30$
3 40% $\le 10^5$ $1 \le a_i \le 30$

对于全部数据,保证$1 \le n \le 10^5$,$1 \le a_i \le 30$。

本题为编程题,提交代码并运行通过测试点后判分。

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
提交记录
共 条 仅展示自由练习提交
正在加载提交记录…
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧