QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 2048 MB Total points: 100

#17453. 鸟类学

Statistics

Vojtěch Jarník(1897–1970)被公认为是最有影响力的捷克数学家之一。他在数学分析和数论领域做出了巨大贡献,但他最著名的或许是用于寻找最小生成树的算法。该算法是为了响应另一位伟大的捷克数学家 Otakar Borůvka 发表的 Borůvka 算法而提出的。

鲜为人知的是,他们对鸟类学(ornithology)有着共同的兴趣,特别是在高维空间中。高维乌鸦以其倾向于在某一维度上排列成一条直线而闻名。此外,它们喜欢保持彼此之间的距离。

现在,给定几只乌鸦的位置,Vojtěch 和 Otakar 很好奇,乌鸦们最少需要移动多少步,才能排成一条直线,且所有乌鸦两两之间的原始曼哈顿距离都得以保持。在单步移动中,一只乌鸦可以沿单个坐标轴移动 $1$ 的距离。

形式上,一只乌鸦由一个含有 $D$ 个整数坐标的向量表示。在单步移动中,选择一只乌鸦,并将其其中一个坐标增加或减少 $1$。任意数量的乌鸦可以共享相同的空间。

我们要求出使乌鸦达到满足以下条件的配置所需的最小步数:

  • 对于所有乌鸦,它们的坐标向量在除一个坐标外,其余所有坐标均相等。
  • 对于每对乌鸦,它们之间的曼哈顿距离与过程开始前相同。乌鸦 $a = (a_1, \dots, a_D)$ 和 $b = (b_1, \dots, b_D)$ 之间的曼哈顿距离为 $\sum_{i=1}^D |a_i - b_i|$。

输入格式

第一行包含两个整数 $N$ 和 $D$($1 \le N \cdot D \le 10^5$),分别表示乌鸦的数量和维度。

接下来的 $N$ 行,每行包含 $D$ 个整数,每个整数在 $-10^9$ 到 $10^9$ 之间(含边界),表示一只乌鸦的坐标。

输出格式

输出一个整数——乌鸦达到满足所需属性的配置所需的最小步数。如果不可能,则输出 $-1$。

样例

输入样例 1

5 2
0 0
1 1
3 3
4 4
2 2

输出样例 1

12

输入样例 2

3 3
10 5 6
20 3 4
30 1 2

输出样例 2

16

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.