#P16544. [EGOI 2026] 蛋糕 / Cakes

    ID: 16518 Type: RemoteJudge 2000ms 1024MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>贪心枚举2026EGOI(欧洲/女生)调和级数

[EGOI 2026] 蛋糕 / Cakes

题目描述

Liliana 生日到了,她邀请了所有好朋友来庆祝!为了让派对更特别,她打算准备多个蛋糕,每个蛋糕上都装饰着各种配料,比如草莓、杏仁或果仁糖。Liliana 有 NN 种配料,每种配料 iiaia_i 个。

蛋糕的“美味度”由其上出现次数最多的配料的次数决定。比如:

  • 蛋糕配料为 1,1,2,2,2{1, 1, 2, 2, 2} 时,美味度为 33,因为配料 22 出现了三次。
  • 蛋糕配料为 0,0,1,1,2{0, 0, 1, 1, 2} 时,美味度为 22,因为配料 0011 都出现了两次,且没有其他配料出现次数更多。

Liliana 想烤几个美味度相同的蛋糕,并且要用完所有的配料,不能有剩余。她还没决定要烤多少个蛋糕。她正在考虑 QQ 种方案,每种方案指定了一个具体的蛋糕数量 KjK_j。对于每种方案,请判断是否能把所有配料分摊到 KjK_j 个蛋糕中,且每个蛋糕的美味度都相同。蛋糕上的配料数量可以不同,但每个蛋糕至少需要有一份配料。请注意,不同的蛋糕可以包含不同数量的配料种类。

输入格式

第一行包含两个整数 NNQQ,分别代表配料种类数和方案数。第二行包含 NN 个整数 a0,a1,,aN1a_0, a_1, \dots, a_{N-1},其中 aia_i 表示配料 ii 的数量。接下来的 QQ 行,每行包含一个整数 KjK_j,指定了第 jj 个方案所需的蛋糕数量。

输出格式

输出 QQ 行。如果能将所有配料分摊到 KjK_j 个美味度相同的蛋糕中,第 jj 行输出 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 号配料(蓝色正方形表示)。

K=1K = 1 时,Liliana 可以做一个美味度为 55 的蛋糕,把所有配料都放在一个蛋糕上:

  • 蛋糕 1:{0,0,1,1,1,1,1,2,3}\{0, 0, 1, 1, 1, 1, 1, 2, 3\} (配料 1 出现了五次)。

    :::align{center}

    K=1K = 1 时的分配示例。 :::

K=2K = 2 时,Liliana 不可能将所有配料分配到两个美味度相同的蛋糕中。

K=3K = 3 时,Liliana 可以做 33 个蛋糕,每个美味度为 22,分配如下:

  • 蛋糕 1:0,0,1{0, 0, 1} (配料 0 出现了两次)。

  • 蛋糕 2:1,1,2{1, 1, 2} (配料 1 出现了两次)。

  • 蛋糕 3:1,1,3{1, 1, 3} (配料 1 出现了两次)。

    :::align{center}

    K=3K = 3 时的分配示例。 :::

K=4K = 4 时,Liliana 不可能将所有配料分配到四个美味度相同的蛋糕中。

K=5K = 5 时,Liliana 可以做 55 个蛋糕,每个美味度为 11,分配如下:

  • 蛋糕 1:0,1{0, 1} (配料 0 和 1 各出现一次)。

  • 蛋糕 2:0,1{0, 1} (配料 0 和 1 各出现一次)。

  • 蛋糕 3:1{1} (配料 1 出现一次)。

  • 蛋糕 4:1,2{1, 2} (配料 1 和 2 各出现一次)。

  • 蛋糕 5:1,3{1, 3} (配料 1 和 3 各出现一次)。

    :::align{center}

    K=5K = 5 时的分配示例。 :::

约束条件

  • 1N,Q100 0001 \leq N, Q \leq 100\ 000.
  • 1ai100 0001 \leq a_i \leq 100\ 000.
  • 1Kj10181 \leq K_j \leq 10^{18}.

评分方式

你的程序将在分成若干子任务的测试数据上进行测试。要获得某个子任务的分数,你必须正确解出该子任务中所有的测试数据。

  • 子任务 00 [00 分]: 样例。
  • 子任务 11 [99 分]: N=1N = 1
  • 子任务 22 [2222 分]: Q=1Q = 1Kj=2K_j = 2
  • 子任务 33 [2424 分]: Q5,N1000,ai1000Q \le 5, N \le 1000, a_i \le 1000
  • 子任务 44 [2424 分]: Q5Q \le 5
  • 子任务 55 [2121 分]: 没有额外的约束条件。