#P16544. [EGOI 2026] 蛋糕 / Cakes
[EGOI 2026] 蛋糕 / Cakes
题目描述
Liliana 生日到了,她邀请了所有好朋友来庆祝!为了让派对更特别,她打算准备多个蛋糕,每个蛋糕上都装饰着各种配料,比如草莓、杏仁或果仁糖。Liliana 有 种配料,每种配料 有 个。
蛋糕的“美味度”由其上出现次数最多的配料的次数决定。比如:
- 蛋糕配料为 时,美味度为 ,因为配料 出现了三次。
- 蛋糕配料为 时,美味度为 ,因为配料 和 都出现了两次,且没有其他配料出现次数更多。
Liliana 想烤几个美味度相同的蛋糕,并且要用完所有的配料,不能有剩余。她还没决定要烤多少个蛋糕。她正在考虑 种方案,每种方案指定了一个具体的蛋糕数量 。对于每种方案,请判断是否能把所有配料分摊到 个蛋糕中,且每个蛋糕的美味度都相同。蛋糕上的配料数量可以不同,但每个蛋糕至少需要有一份配料。请注意,不同的蛋糕可以包含不同数量的配料种类。
输入格式
第一行包含两个整数 和 ,分别代表配料种类数和方案数。第二行包含 个整数 ,其中 表示配料 的数量。接下来的 行,每行包含一个整数 ,指定了第 个方案所需的蛋糕数量。
输出格式
输出 行。如果能将所有配料分摊到 个美味度相同的蛋糕中,第 行输出 YES,否则输出 NO。
4 5
2 5 1 1
1
2
3
4
5
YES
NO
YES
NO
YES
1 1
4
2
YES
5 3
1 1 1 1 1
1
1000000000000000000
5
YES
NO
YES
提示
样例解释
在第一个样例中,Liliana 有四种配料:两个 0 号配料(绿色三角形表示),五个 1 号配料(黄色星星表示),一个 2 号配料(橙色圆形表示),以及一个 3 号配料(蓝色正方形表示)。
当 时,Liliana 可以做一个美味度为 的蛋糕,把所有配料都放在一个蛋糕上:
-
蛋糕 1: (配料 1 出现了五次)。
:::align{center}

时的分配示例。 :::
当 时,Liliana 不可能将所有配料分配到两个美味度相同的蛋糕中。
当 时,Liliana 可以做 个蛋糕,每个美味度为 ,分配如下:
-
蛋糕 1: (配料 0 出现了两次)。
-
蛋糕 2: (配料 1 出现了两次)。
-
蛋糕 3: (配料 1 出现了两次)。
:::align{center}

时的分配示例。 :::
当 时,Liliana 不可能将所有配料分配到四个美味度相同的蛋糕中。
当 时,Liliana 可以做 个蛋糕,每个美味度为 ,分配如下:
-
蛋糕 1: (配料 0 和 1 各出现一次)。
-
蛋糕 2: (配料 0 和 1 各出现一次)。
-
蛋糕 3: (配料 1 出现一次)。
-
蛋糕 4: (配料 1 和 2 各出现一次)。
-
蛋糕 5: (配料 1 和 3 各出现一次)。
:::align{center}

时的分配示例。 :::
约束条件
- .
- .
- .
评分方式
你的程序将在分成若干子任务的测试数据上进行测试。要获得某个子任务的分数,你必须正确解出该子任务中所有的测试数据。
- 子任务 [ 分]: 样例。
- 子任务 [ 分]: 。
- 子任务 [ 分]: 且 。
- 子任务 [ 分]: 。
- 子任务 [ 分]: 。
- 子任务 [ 分]: 没有额外的约束条件。