tb的平方问题
题号:NC276175
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

tb 给了 fc 一个数组 A 。

随后, tb 对 fc 进行了 q 次询问,每次询问 tb 给 fc 一个 x ,需要 fc 给出包含了 x 位置且区间和为完全平方数的连续子数组个数。

完全平方数:存在正整数 t ,满足 t \times t = x ,则称 x 为完全平方数。

连续子数组:原数组中某段下标连续的元素按原顺序构成的数组。

输入描述:

第一行输入两个正整数 n,q(1 \le n \le 10^3,1 \le q \le 3*10^5) ,表示数组长度与询问个数。

第二行输入一个长为 n 的数组,表示 A , 第 i 个位置为 a_i(1\le a_i\le 10^5)

接下来 q 行每行输入一个正整数 x(1 \le x \le n) ,表示询问的位置。

输出描述:

q 行,每行一个非负整数,表示符合条件的区间数。
示例1

输入

复制
5 2
1 2 3 4 5
2
4

输出

复制
1
3