[R34A]FizzBuzz 游戏 - 代码源竞赛平台

时空限制

1S/512M

题目描述

给定一个长度为 nn 的整数数组 aa 和两个正整数 X,YX, Y。你需要对数组 aa 中的每个数字 aia_i 进行一次转换。转换规则如下:

  1. 如果 aia_i 同时是 XX 和 YY 的倍数,则该数字被替换为字符串 FizzBuzz。
  2. 如果 aia_i 仅是 XX 的倍数(而不是 YY 的倍数),则该数字被替换为字符串 Fizz。
  3. 如果 aia_i 仅是 YY 的倍数(而不是 XX 的倍数),则该数字被替换为字符串 Buzz。
  4. 其他情况下,数字 aia_i 保持不变。

你的任务是,在对整个数组完成转换后,统计最终的数组中所有生成的字符串(Fizz, Buzz, FizzBuzz)里,字符 z 一共出现了多少次。

格式

输入格式

第一行包含三个正整数 n,X,Yn, X, Y,分别表示数组的长度以及两个除数。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n,表示数组 aa 的值。

输出格式

输出一个整数,表示最终数组中字符 z 的总数量。

样例

样例输入 #1

5 2 3
1 2 3 6 7

样例输出 #1

8

样例解释 #1

初始数组为 [1, 2, 3, 6, 7],X=2X=2,Y=3Y=3。

  • a1=1a_1=1: 不被 22 或 33 整除,保持不变。
  • a2=2a_2=2: 是 22 的倍数,变为 Fizz。
  • a3=3a_3=3: 是 33 的倍数,变为 Buzz。
  • a4=6a_4=6: 同时是 22 和 33 的倍数,变为 FizzBuzz。
  • a5=7a_5=7: 不被 22 或 33 整除,保持不变。

转换后的数组状态为 [1, "Fizz", "Buzz", "FizzBuzz", 7]。

统计字符 z 的数量为:

  • Fizz 中有 22 个 z。
  • Buzz 中有 22 个 z。
  • FizzBuzz 中有 44 个 z。

总数量为 2+2+4=82 + 2 + 4 = 8。

数据规模

对于 100%100\% 的数据,1≤n≤1051 \le n \le 10^5, 1≤X,Y≤1091 \le X, Y \le 10^9, 1≤ai≤1091 \le a_i \le 10^9。