QOJ.ac

QOJ

実行時間制限: 10 s メモリ制限: 1024 MB 満点: 16

#12278. 新鲜巧克力

統計

你是巧克力制造商的公关经理。不幸的是,公司的形象因为顾客认为老板吝啬而受损。你希望通过提供免费的工厂参观和巧克力品尝活动来扭转这一印象。

在开始这个新项目后不久,你意识到老板的名声确实名副其实:他只同意在你能将成本降至最低的情况下提供免费巧克力。赠送的巧克力以每包 $P$ 块的形式提供。你希望为每个参观团打开新包装,但老板坚持认为,如果前一个团队有剩余的巧克力,必须先用完这些剩余的巧克力,然后才能打开任何新包装。

例如,假设每包有 $P=3$ 块,来了一个 5 人的参观团。你将打开两包,给每个人一块,你会剩下 1 块。假设之后又来了一个 6 人的参观团。他们将先得到那块剩余的巧克力,然后你将再打开两包来完成他们的品尝,这样你又会剩下 1 块。如果紧接着来了两个 4 人的团队,第一个团队将得到那块剩余的巧克力加上一整包,而最后一个 4 人团队将从两包新打开的巧克力中获得他们的份额。请注意,在所有剩余的巧克力用完之前,你不能打开新包装,即使你打算立即用掉新打开包装里的所有巧克力。

在上面的例子中,4 个团队中有 2 个(第一个和最后一个)从刚打开的包装中获得了所有的巧克力。另外 2 个团队得到了一些新鲜的巧克力和一些剩余的巧克力。你知道分发剩余的巧克力并不是扭转老板吝啬形象的最佳方式,但为了让吝啬的老板同意这个项目,你不得不接受这个制度。尽管环境不利,你仍然致力于做好这份工作。

你有来自 $N$ 个团队的请求,每个团队都指定了将要来到工厂的人数。团队将一个接一个地到来。你希望以一种能使获得“仅新鲜巧克力且无剩余”的团队数量最大化的顺序安排他们。你不能拒绝团队,也不能让一个团队多次获得巧克力,并且你需要给每个团队中的每个人恰好一块巧克力。

在上面的例子中,如果顺序不是 5, 6, 4, 4,而是 4, 5, 6, 4,那么总共会有 3 个团队(除了那个 5 人的团队外)只获得新鲜巧克力。对于这组团队来说,不可能做得更好,因为没有任何排列能使所有团队都只获得新鲜巧克力。

输入格式

输入的第一行给出测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例包含两行。第一行包含两个整数 $N$(来参观的团队数量)和 $P$(每包巧克力的块数)。第二行包含 $N$ 个整数 $G_1, G_2, \dots, G_N$,表示每个团队的人数。

输出格式

对于每个测试用例,输出一行 Case #x: y,其中 $x$ 是测试用例编号(从 1 开始),$y$ 是在最优安排顺序下,能够获得仅新鲜巧克力的团队数量。

数据范围

内存限制:1 GB。 $1 \le T \le 100$。 $1 \le N \le 100$。 $1 \le G_i \le 100$(对于所有 $i$)。 所有子任务的时间限制:10 秒。

样例

样例输入 1

3
4 3
4 5 6 4
4 2
4 5 6 4
3 3
1 1 1

样例输出 1

Case #1: 3
Case #2: 4
Case #3: 1

说明

样例 1 中的情况即为题目描述中解释的情况。除了上述可能的最优顺序外,其他顺序如 6, 5, 4, 4 也能使获得仅新鲜巧克力的团队数量最大化,尽管获得新鲜巧克力的团队可能不同。请注意,我们只关心获得最佳体验的团队数量,而不是其中总的人数。

在样例 2 中,团队与样例 1 相同,但每包巧克力包含两块。在这种情况下,有几种排序方式(例如 4, 4, 6, 5)可以使所有团队都只获得新鲜巧克力。

在样例 3 中,所有团队都是单个人,他们都将从同一包中进食。当然,只有第一个进来的团队会得到刚打开的包装。

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.