QOJ.ac

QOJ

時間限制: 4 s 記憶體限制: 1024 MB 總分: 100

#3804. 分配宝藏

统计

你是探险队的队长。在你的英明领导下,团队在一次探险中取得了巨大成功,获得了大量宝藏。目前唯一也是最关键的问题是如何将获得的宝藏分配给队员。

挖掘出的宝藏包括各种珍贵物品:金锭、镶嵌璀璨宝石的珠宝、精美的工艺品等。每位队员都会单独评估这些物品的价值。这些估值是一致的,即对于任意两件物品,如果某位队员认为其中一件的价值严格高于另一件,那么其他队员也不会给出相反的评价,尽管有些人可能会给出相等的估值。

所有队员都很理智,因此理解平均分配物品的困难。因此,没有任何队员会仅仅因为根据自己的估值,其所得份额的总价值低于其他队员的份额而抱怨。然而,如果队员自己的份额看起来比其他队员的份额显得过于寒酸,他们可能会感到愤怒;他们无法忍受的情况是:即使去掉自己份额中估值最低的一件物品后,其剩余份额的估值仍然严格低于其他队员的份额。

你作为队长的最后任务是决定谁获得哪些物品,以确保没有任何队员感到愤怒。只要队员不感到愤怒,一些队员可以什么都不得到。

输入格式

输入包含一组测试用例,格式如下:

$n \ m$ $v_{1,1} \dots v_{1,m}$ $\vdots$ $v_{n,1} \dots v_{n,m}$

第一行包含两个正整数 $n$ 和 $m$,它们的乘积不超过 $2 \times 10^5$;$n$ 是探险队队员的人数,$m$ 是宝藏物品的数量。队员和物品分别编号为 $1$ 到 $n$ 和 $1$ 到 $m$。接下来的 $n$ 行中,第 $i$ 行包含 $m$ 个不超过 $2 \times 10^5$ 的正整数,按降序排列:$v_{i,1} \ge v_{i,2} \ge \dots \ge v_{i,m}$。其中 $v_{i,j}$ 是队员 $i$ 对物品 $j$ 的估值。

输出格式

如果你能将物品分配给队员而不使任何队员感到愤怒,请在一行中输出该分配方案,包含 $m$ 个正整数 $x_1, x_2, \dots, x_m$,并用空格分隔。其中 $x_j = i$ 表示队员 $i$ 获得了物品 $j$。如果存在两种或多种这样的分配方案,输出其中任意一种均视为正确。如果无法在不使任何队员感到愤怒的情况下分配物品,则仅输出 $0$。

样例

样例输入 1

2 3
4 2 1
3 3 3

样例输出 1

1 2 1

样例输入 2

1 7
64 32 16 8 4 2 1

样例输出 2

1 1 1 1 1 1 1

说明

令 $V_i(X)$ 表示队员 $i$ 对集合 $X$ 中物品估值的总和。

在样例 1 中,$V_1(\{1, 3\})$ 为 $4 + 1 = 5$,$V_1(\{2\})$ 为 $2$,$V_2(\{1, 3\})$ 为 $3 + 3 = 6$,$V_2(\{2\})$ 为 $3$。输出所示的分配方案不会使队员 1 感到愤怒,因为 $V_1(\{1, 3\}) \ge V_1(\{2\})$。队员 2 也不会感到愤怒,尽管 $V_2(\{2\}) < V_2(\{1, 3\})$ 成立。如果队员 1 放弃两件物品中的一件,其所得物品的价值总和将变为 $V_1(\{1\}) = 3$ 或 $V_1(\{3\}) = 1$,但这里应参考队员 2 的视角,即如果队员 1 放弃一件物品,其剩余价值均不高于 $V_2(\{2\}) = 3$。

注意,他们的份额不应交换。假设队员 1 获得 $\{2\}$,队员 2 获得 $\{1, 3\}$。这会使队员 1 感到愤怒,因为 $V_1(\{2\}) = 2 < 4 = V_1(\{1\})$ 成立,这意味着即使队员 2 放弃了 $\{1, 3\}$ 中估值最低的物品 3,剩余物品 1 的价值仍然被队员 1 估计为高于 $V_1(\{2\}) = 2$。

在样例 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.