一个整数末尾有多少个连续零,取决于它含有多少个因子 10。
而
10=2×5给定一个长度为 n 的正整数数组 a1,a2,…,an 和一个正整数 K。
我们称一个子数组 [l,r] 的“强度”为其所有元素乘积能被 10 的多少次幂整除。若该子数组的乘积能被 10K 整除,即乘积中因子 2 和因子 5 的个数均不少于 K,则称该子数组为 K-强子数组。
请你统计满足条件的 K-强子数组的总数量。
数据范围:
第一行包含两个整数 n 和 K,分别表示数组长度和所需的整除指数。 第二行包含 n 个整数 a1,a2,…,an,表示数组元素。
输出一个整数,表示所有元素乘积能被 10K 整除的子数组个数。
输入
3 1
2 5 1
输出
2
说明
子数组 [2,5] 的乘积为 10,含有 1 个因子 2 和 1 个因子 5,满足 K=1;
子数组 [2,5,1] 的乘积同样为 10,也满足条件。
因此共有 2 个满足条件的子数组。
输入
2 10
100 100
输出
0
说明
每个 100 含有 22×52,两个 100 相乘最多含有 4 个因子 2 和 4 个因子 5,均小于 K=10。
因此不存在任何子数组满足条件,答案为 0。
输入
4 2
100 25 4 5
输出
6
说明
元素因子个数:
100 含有 22 和 52;
25 含有 52;
4 含有 22;
5 含有 51。
满足因子 2 和 5 的个数均不少于 2 的子数组有:
[100]、[100,25]、[100,25,4]、[100,25,4,5]、[25,4]、[25,4,5],共 6 个。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册