QOJ.ac

QOJ

مجموع النقاط: 100 إخراج فقط

#13795. 装箱

الإحصائيات

IOI 2019 主办方计划向所有参赛者发放 T 恤。这个计划中最具挑战性的部分是装箱过程。

有 $n$ 件 T 恤,编号从 $0$ 到 $n - 1$。每件 T 恤 $i$ 有一个体积(尺码)$A[i]$,它是一个不超过 $10$ 的正整数(对应 XXXS, XXS, XS, S, M, L, XL, XXL, XXXL, XXXXL)。有 $k$ 个箱子可用于装 T 恤,编号从 $0$ 到 $k - 1$。每个箱子的容量为 $20$,因此放入每个箱子中的 T 恤总体积不能超过 $20$。当然,为了让装箱更容易,总是可以选择购买更多的箱子。

一个装箱方案可以用一个由 $n$ 个整数组成的数组 $P$ 来表示,其中 $P[i]$ 表示编号为 $i$ 的 T 恤应该放入的箱子编号。

给你每件 T 恤的体积。你的任务是帮助 IOI 2019 装箱,使得需要尽可能少的额外箱子(理想情况下,不需要额外箱子)。

实现细节

这是一个提交答案型(output-only)任务,有部分分。你将获得 $10$ 个输入文件,每个文件包含整数 $n$、$k$ 以及由 $n$ 个整数组成的数组 $A$。对于每个输入文件,你应该提交一个包含装箱方案的输出文件。对于每个输出文件,你将根据你的装箱方案的得分获得分数。

你不需要为这个任务提交任何源代码。

输入格式

输入格式如下:

  • 第 1 行:$n \quad k$
  • 第 2 行:$A[0] \quad A[1] \quad \dots \quad A[n - 1]$(体积)

输出格式

输出必须符合以下格式:

  • 第 1 行:$l$(需要的箱子总数)
  • 第 2 行:$P[0] \quad P[1] \quad \dots \quad P[n - 1]$(装箱方案)

数据范围

  • $1 \le n, k \le 100\,000$
  • $1 \le A[i] \le 10$(对于 $0 \le i \le n - 1$)

评分方式

如果满足以下所有条件,则认为输出文件是有效的:

  • 输出必须符合描述的格式。
  • $0 \le P[i] \le l - 1$(对于所有满足 $0 \le i \le n - 1$ 的 $i$)。
  • 分配给每个箱子的 T 恤总体积不能超过 $20$。

如果你的输出对于某个测试点无效,你该测试点的得分将为 $0$。否则,设 $R$ 为 $k / l$。你的得分将按如下方式计算:

条件 得分
$R \le 0.75$ $8R/3$
$0.75 < R < 1$ $1 + 9^{4(R-0.75)}$
$1 \le R$ $10$

对于每个测试点,都存在一个能获得 $10$ 分的装箱方案。

样例

输入格式 1

5 2
6 7 10 7 10

输出格式 1

2
0 0 1 0 1

说明

在这个样例中,最好的可能结果是使用 $2$ 个箱子。上面是一个仅使用 $2$ 个箱子的结果,可以获得 $10$ 分。

下面是另一个可能的有效输出:

3
0 2 1 0 1

该输出可以获得 $\frac{2}{3} \cdot \frac{8}{3} \approx 1.778$ 分。

输入格式 2

7 4
8 8 8 8 8 8 8

输出格式 2

4
0 1 2 3 2 1 0

说明

上面是一个可能的有效输出,可以获得 $10$ 分。

下面是另一个可能的有效输出:

5
0 0 1 1 2 3 4

该输出可以获得 $1 + 9^{4(\frac{4}{5} - 0.75)} = 1 + 9^{0.2} \approx 2.552$ 分。


أو قم برفع الملفات واحداً تلو الآخر:

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.