Universal Cup Judging System

Universal Cup

Time Limit: 3 s Memory Limit: 2048 MB Total points: 100 Difficulty: [show] Hackable ✓
Statistics

אולי אתם יודעים ש-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.