Universal Cup Judging System

Universal Cup

시간 제한: 3 s 메모리 제한: 2048 MB 총점: 100 난이도: [표시] 해킹 가능 ✓
통계

Возможно, вы знаете, что Little Cyan Fish каждый год проводит множество соревнований. Ну знаете, соревнования Universal Cup, соревнования ICPC, олимпиады по информатике и так далее, и так далее... Я слышал, что в последнее время Little Cyan Fish очень устал, поэтому я хотел бы ему помочь.

А именно, я создал $n$ групп авторов задач, пронумерованных от $1$ до $n$. В $i$-й группе изначально состоит $k_i$ участников, силы которых равны целым числам $a_{i,1}, a_{i,2}, \ldots, a_{i,k_i}$. Влиянием группы называется сумма сил её участников. Влияние пустой группы равно $0$.

Но Little Cyan Fish не доверяет участникам, которых я для него отобрал (что печально). Как директор, он хочет выгнать как можно больше из них. Однако он хочет быть справедливым: всякий раз, когда он выгоняет участника, этот участник должен иметь наименьшую силу в своей группе. Формально, за одну операцию Little Cyan Fish выбирает непустую группу и увольняет одного из её участников с наименьшей силой. Если таких участников несколько, он может выбрать любого из них.

Знаете ли, участники очень расстроятся, услышав, что кого-то уволили, или... может быть, даже поднимут восстание! Little Cyan Fish очень не хочет, чтобы какая-либо группа авторов задач стала доминирующей в этом процессе. Поэтому после каждой операции влияние каждой группы должно быть не больше суммы влияний всех остальных групп. То есть для каждой группы $i$:

$$s_i \le \sum_{j \ne i} s_j,$$

где $s_i$ обозначает текущее влияние группы $i$. Изначально группы не обязательно удовлетворяют этому условию.

Найдите максимальное количество участников, которых можно уволить, и постройте оптимальную последовательность операций.

Входные данные

Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит одно целое число $T$ ($1 \le T$), обозначающее количество наборов входных данных.

Для каждого набора входных данных первая строка содержит одно целое число $n$ ($1 \le n \le 5 \times 10^5$) — количество групп. Каждая из следующих $n$ строк описывает одну группу: $i$-я из этих строк начинается с целого числа $k_i$ ($1 \le k_i \le 5 \times 10^5$), за которым следуют $k_i$ целых чисел $a_{i,1}, a_{i,2}, \ldots, a_{i,k_i}$ ($1 \le a_{i,j} \le 10^9$) — силы участников $i$-й группы.

Гарантируется, что сумма $n$ по всем наборам входных данных не превосходит $5 \times 10^5$, а сумма $k_i$ по всем наборам входных данных не превосходит $5 \times 10^5$.

Выходные данные

Для каждого набора входных данных выведите две строки. Первая строка должна содержать одно целое число $m$ — максимальное количество участников, которых можно уволить. Вторая строка должна содержать $m$ целых чисел $b_1, b_2, \ldots, b_m$ ($1 \le b_i \le n$), где $b_i$ — номер группы, выбранной на $i$-й операции. Если $m = 0$, вторая строка должна быть пустой.

Если существует несколько оптимальных последовательностей операций, вы можете вывести любую из них.

Примеры

Входные данные 1

3
4
1 1
2 2 4
2 3 4
1 8
1
1 7
2
2 1 1
2 1 1

Выходные данные 1

4
3 2 4 1
1
1
0

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.