loj#P4771. 「ROIR 2025 Day2」个人竞赛的原则

「ROIR 2025 Day2」个人竞赛的原则

题目描述

译自 ROI Regional 2025 Day2 T3. Главное правило личных олимпиад

让我们重温一下个人奥林匹克竞赛的原则:每道题都要得分!不能在竞赛中有题目得零分。

让我们来模拟一个竞赛的比赛过程。假设比赛中有 nn 道题目,第 ii 道题目包含 kik_i 个子任务,第 ii 道题目的第 jj 个子任务可以获得 ci,jc_{i, j} 分。子任务之间是独立的,因此你可以在每道题中选择任意数量的子任务来解答。不过,你不能选择空集,因为那样这道题得分就是 00 分,这违反了个人竞赛的原则。

请你判断,是否可以在遵守个人竞赛原则的前提下,恰好获得总共 ss 分。

输入格式

第一行包含两个整数 nnss (1n100000,1s100000)(1 \leq n \leq 100\,000, 1 \leq s \leq 100\,000),分别表示比赛中的题目数量和需要得到的总分。接下来是题目的描述。每道题目的描述由两行组成。

ii 道题目的第一行包含一个整数 kik_i (1ki100000)(1 \leq k_i \leq 100\,000),表示第 ii 道题目的子任务数量。

ii 道题目的第二行包含 kik_i 个整数 ci,1,ci,2,,ci,kic_{i, 1}, c_{i, 2}, \ldots, c_{i, k_i} (1ci,j100000)(1 \leq c_{i, j} \leq 100\,000),表示各个子任务的分值。

保证所有题目的 k1+k2++knk_1 + k_2 + \ldots + k_n 不超过 100000100\,000

保证 (k1+k2++kn)s(k_1 + k_2 + \ldots + k_n) \cdot s 的乘积不超过 10710^7

输出格式

如果不存在满足条件的解,输出 No

否则,第一行输出 Yes。接下来,需要为每道题目输出你选择的子任务。

对于第 ii 道题目,先输出一个整数 mim_i (1miki)(1 \leq m_i \leq k_i),表示你选择的子任务数量。接下来输出 mim_i 个不同的整数 pi,1,pi,2,,pi,mip_{i, 1}, p_{i, 2}, \ldots, p_{i, m_i} (1pi,jki)(1 \leq p_{i, j} \leq k_i),表示你选择的第 ii 道题目的子任务编号。

如果存在多种方法可以凑出总分 ss,你可以输出任意一种。

2 4
1
2
2
3 1

No

2 4
1
2
2
2 1

Yes
1
1
1
1

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制 子任务依赖
11 88 n=1n = 1
22 1010 n=2n = 2
33 66 k1+k2+kn20k_1 + k_2+\ldots k_n \leq 20
44 66 ki=1k_i = 1
55 1515 ns100000n \cdot s \leq 100\,000s1000s \leq 1\,000 33
66 5555 无附加限制 151\sim 5