#P6594. 合理分配挖掘出的宝藏
合理分配挖掘出的宝藏
题目描述
你是寻宝团队的领队。在你的出色指挥下,团队成功完成了一次任务,获得了大量宝藏。现在,唯一但至关重要的问题是如何将这些宝藏合理地分配给每位队员。
挖掘出的宝藏包括各种珍贵物品:金锭、镶嵌璀璨宝石的珠宝、精美的工艺品等。每位队员分别对这些物品的价值进行评估,这些估值在队员之间是一致的。也就是说,对于任意两件物品,当某位队员估计其中一件的价值高于另一件时,其他队员不会得出相反的结论,尽管有些人可能会给出相等的估值。
队员们都很理性,理解想要将物品均匀分配非常困难。因此,队员们不会因为根据自己的估值,自己得到的物品总价值低于他人而抱怨。然而,如果某位队员觉得自己分到的份额显得不合理地寒酸,与他人的份额差距过大,他们可能会生气。他们无法忍受的是:即使某位队员去掉自己认为价值最低的物品后,自己的份额依然明显低于这位队员。
你作为领队的最后任务是决定每个队员得到哪些物品,以确保没有队员因此而心生不满。部分队员可能分不到任何物品,只要他们对此不会感到不满即可。
输入
输入由一个测试用例组成,格式如下:
$$n\ m \\ v_{1,1}\ v_{1,2}\ \cdots\ v_{1,m} \\ \vdots \\ v_{n,1}\ v_{n,2}\ \cdots\ v_{n,m} $$第一行包含两个正整数 和 ,它们的乘积不超过 ; 是寻宝团队成员的数量, 是宝藏物品的数量。成员和物品的编号分别为 到 和 到 。接下来的 行中,每行包含 个正整数,且不超过 ,这些数字按降序排列:。其中 是成员 对物品 的估算价值。
输出
如果可以在不让任何成员生气的情况下分配物品,请输出这样的分配结果,以一行的形式输出 个正整数 ,用空格分隔。这里, 表示成员 获得物品 。如果存在两个或多个这样的分配,任何一个都可以被视为正确。如果无法在不让任何成员生气的情况下分配物品,请输出 0。
2 3
4 2 1
3 3 3
1 2 1
1 7
64 32 16 8 4 2 1
1 1 1 1 1 1 1
样例解释
让我们定义 为成员 对集合 中物品的估算价值之和。在样例 1 中,,,,而 。
输出中展示的分配不会让成员 1 感到生气,因为 。成员 2 也不会感到生气,尽管 。如果成员 1 放弃其中一件物品,那么成员 1 接收到的物品的价值总和将变为 或 ,这两个值都不高于 。
需要注意的是,他们的分享不应该被互换。例如,如果成员 1 收到 ,而成员 2 收到 ,这将使得成员 1 感到生气,因为 ,这意味着即使成员 2 放弃物品 3(在 中估算较低的物品),剩下的物品 1 的估算价值仍然高于 。
在样例 2 中,只有你一个成员,因此可以把所有物品都分配给自己。恭喜你!
相关
在以下作业中: