#P15401. [NOISG 2026 Prelim] Airplane 2
[NOISG 2026 Prelim] Airplane 2
题目描述
在 NOI 2023 之后,猴子潘从兔子本森手中接管了一架飞机的控制权。飞机上的乘客座位排列成 行 列。行从上到下编号为 到 ,列从左到右编号为 到 。我们将位于第 行第 列的座位记为 。
CEO 潘向 名乘客出售机票,乘客编号从 到 。第 名乘客有一个偏好列 ,但潘可以为他们分配任意行 。不能有两名乘客占据同一个座位。
为了保持飞机上的重量均匀分布,坐在较前行中的乘客不得坐在较后列中。形式化地说,对于任意两个已分配的座位 和 ,如果 ,则 。
CEO 潘将 乘客总满意度 定义为所有已分配座位对之间的 最小 曼哈顿距离。一对座位 和 之间的曼哈顿距离为 ,其中 表示 的绝对值。
帮助潘确定在所有有效的行分配中可能得到的 最大 乘客总满意度,或者确定不存在有效的行分配。
输入格式
你的程序必须从标准输入中读取数据。
输入的第一行包含三个以空格分隔的整数 、 和 。
输入的第二行包含 个以空格分隔的整数 。
输出格式
你的程序必须输出到标准输出。
输出一个整数,即最大乘客总满意度。如果没有有效的行分配,则输出 。
5 1 6
1 1 1 1 1 1
-1
2 7 3
1 2 3
1
3 7 3
1 4 7
4
50 50 10
34 21 28 44 41 28 5 10 16 24
9
4 11 5
1 1 11 7 3
2
提示
样例测试用例 1 解释
飞机有 行和 列。机上共有 个座位。因此,潘不可能为 名乘客分配互不相同的座位。
样例测试用例 5 解释
:::align{center}
:::
上图展示了一种能够最大化 乘客总满意度 的有效行分配方案。每个打叉的格子表示该座位被分配给了一名乘客。第一名乘客被分配到第 1 行,其余乘客被分配到第 4 行。
乘客 2(座位 )和乘客 5(座位 )之间的曼哈顿距离为 ,这是所有乘客对中的最小值。因此,此分配的 乘客总满意度 为 2。
下图展示了一个 无效 行分配的示例。
:::align{center}
:::
尽管此分配中的 乘客总满意度 为 3,但乘客 3(座位 )和乘客 4(座位 )会导致重量分布不均匀,因为乘客 3 坐在比乘客 4 更前的行但更后的列。
子任务
对于所有测试用例,输入均满足以下范围:
- 对于所有 ,
你的程序将在满足以下限制的输入实例上进行测试:
| 子任务 | 分值 | 附加约束 |
|---|---|---|
| 0 | 样例测试用例 | |
| 1 | 5 | |
| 2 | 对于所有 ,有 | |
| 3 | 7 | 是一个等差数列,即对于所有 ,有 |
| 4 | 9 | |
| 5 | 31 | |
| 6 | 16 | 对于所有 ,有 |
| 7 | 27 | 无额外约束 |
翻译由 DeepSeek 完成