QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 2048 MB Total points: 100

#10485. Peculiar Protocol

統計

Icpca 王国在婚礼仪式上有一种独特的礼金习俗。礼金金额必须是某个固定数量的倍数加上一个固定的余数。当固定数量为 $d$ 且固定余数为 $r$ 时,合乎礼仪的礼金金额为 $k \times d + r$,其中 $k$ 为任意非负整数。

起初,你有一叠共 $n$ 张钞票。每次参加婚礼时,你都会从当前的钞票堆中取出一部分连续的钞票作为礼金,其总额必须是一个合乎礼仪的金额,即 $d$ 的倍数加上 $r$。如果没有连续的部分能凑出这样的金额,你就无法再参加婚礼了。取出钞票后,剩余的钞票会合并成新的一叠,并保持它们原有的相对顺序。合并后的钞票堆中可能再次出现符合条件的连续部分,从而让你能够参加更多的婚礼。

你的礼金旨在提升社会声望。由于额外金额 $r$ 被视为强制性的,因此乘数 $k$ 被视为衡量声望的关键。你在每次参加婚礼时获得的声望提升与该次礼金的乘数 $k$ 成正比。

例如,假设 $d = 5$,$r = 1$,你拥有的钞票面值依次为 2, 2, 2, 4, 4。当你参加婚礼时,有两种可能的礼金给付方式:

  • 取出前三张钞票作为礼金,总额为 $2 + 2 + 2 = 6 = 1 \times d + r$。取出后,剩余钞票面值为 4 和 4。剩余钞票中没有连续部分的总和是合乎礼仪的金额。因此,你无法再参加婚礼。
  • 取出第三和第四张钞票作为礼金,总额为 $2 + 4 = 6 = 1 \times d + r$。取出后,剩余钞票面值依次为 2, 2, 4。你可以参加另一场婚礼,因为第二和第三张钞票的总和为 $2 + 4 = 6 = 1 \times d + r$,符合礼仪。

在这个例子中,第二种方式通过参加两场婚礼使你的社会声望最大化,因为乘数之和为 $1 + 1 = 2$,达到了最大可能值。

相比之下,如果第一张钞票的面值是 12,在仪式上取出前三张钞票会使你无法参加后续的婚礼。然而,这却能使你的社会声望最大化,因为乘数之和为 3,达到了最大可能值。

请计算你在婚礼上给出的礼金所能获得的最大乘数总和。你可以假设你有足够多的未婚亲友,只要你能给出合乎礼仪的礼金,就可以参加任意数量的婚礼。

输入格式

输入包含单个测试用例,格式如下:

$n$ $d$ $r$ $a_1$ $\dots$ $a_n$

第一行包含三个整数 $n$、$d$ 和 $r$。整数 $n$ ($1 \le n \le 500$) 是你拥有的钞票数量。整数 $d$ 和 $r$ ($2 \le d \le 10^8$, $0 \le r < d$) 代表该独特习俗的参数。第二行包含 $n$ 个整数 $a_1, \dots, a_n$。其中 $a_i$ ($0 \le a_i \le 10^8$) 表示从上往下数第 $i$ 张钞票的面值。

输出格式

输出一行,包含你在婚礼上给出的礼金所能获得的最大乘数总和。

样例

输入 1

5 5 1
2 2 2 4 4

输出 1

2

输入 2

5 5 1
12 2 2 4 4

输出 2

3

输入 3

5 20000 10000
5000 10000 15000 5000 25000

输出 3

2

输入 4

9 5 3
4 2 2 1 1 4 3 2 1

输出 4

2

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.