Universal Cup Judging System

Universal Cup

时间限制: 4 s 内存限制: 1024 MB
统计

VegiCat володіє компанією, у якій працюють $n$ співробітників, розподілених по $k$ непорожніх командах. Співробітники живуть уздовж прямої дороги, поданої числовою прямою. VegiCat хоче організувати для них дві точки збору.

VegiCat ділить команди на дві множини, $A$ і $B$, так, що кожна команда потрапляє рівно в одну множину. Для кожної множини він вибирає точку збору в довільній дійсній координаті. Усі співробітники однієї команди повинні прийти в ту саму точку збору. Кожна команда з множини $A$ прямує до точки збору для $A$, а кожна команда з множини $B$ прямує до точки збору для $B$. Будь-яка з множин може бути порожньою.

problem_23601_7c51af3a8386a65cfea21342dbcebc71.png

Нехай $S_A$ — список координат будинків усіх співробітників із команд множини $A$, а $S_B$ визначається аналогічно для $B$. Кожен співробітник враховується окремо, навіть якщо координати будинків повторюються.

Для списку $S = (x_1, x_2, \ldots, x_m)$ координат будинків мінімальна сумарна відстань, яку потрібно подолати цим співробітникам до однієї точки збору, становить

$$M(S) = \min_{p \in \mathbb{R}} \sum_{j=1}^{m} |x_j - p|.$$

Визначимо $M(S) = 0$, коли список $S$ порожній. Допоможіть VegiCat мінімізувати значення $M(S_A) + M(S_B)$ за всіма способами поділити команди на дві множини.

Вхідні дані

Перший рядок містить ціле число $T$ ($1 \le T \le 3 \cdot 10^5$) — кількість наборів вхідних даних. Далі йде опис наборів вхідних даних.

Перший рядок кожного набору вхідних даних містить два цілі числа $n$ і $k$ ($1 \le k \le n \le 3 \cdot 10^5$), що позначають кількість співробітників і кількість команд відповідно.

Кожен із наступних $k$ рядків описує одну команду. Рядок із номером $i$ містить ціле число $m_i$ ($1 \le m_i \le n$) — кількість співробітників у команді $i$, за яким ідуть $m_i$ цілих чисел $x_{i,1}, \ldots, x_{i,m_i}$ ($1 \le x_{i,j} \le 10^7$) — координати їхніх будинків. Сума всіх $m_i$ в одному наборі вхідних даних дорівнює $n$.

Координати будинків можуть повторюватися та можуть бути задані в довільному порядку.

Гарантується, що сума $n$ за всіма наборами вхідних даних не перевищує $3 \cdot 10^5$.

Вихідні дані

Для кожного набору вхідних даних виведіть одне ціле число — мінімально можливу сумарну відстань пересування.

Приклади

Вхідні дані 1

2
4 2
2 1 3
2 8 10
8 3
3 4 12 1
2 3 2
3 9 8 10

Вихідні дані 1

4
15

Примітка

У першому наборі вхідних даних VegiCat відправляє команду $1$ до точки збору в позиції $1$, а команду $2$ — до точки збору в позиції $8$. Співробітники кожної команди долають сумарну відстань $2$, що дає відповідь $4$.

У другому наборі вхідних даних VegiCat вибирає точки збору в позиціях $3$ і $9$. Він відправляє команди $1$ і $2$ до першої точки збору, а команду $3$ — до другої. Співробітники команд $1$, $2$ і $3$ долають сумарні відстані $12$, $1$ і $2$ відповідно, що дає відповідь $15$.

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.