题号:NC205306
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
Compute 最近开始玩动物森友会了。
这个游戏的时间与现实时间是同步的(一周有 7 天),而一些特定事件只会在一周的某些天解锁。
我们假设有 n 个不同的事件,而每个事件都会给予不同的材料,并且每个事件只会在一周中的特定几天开放,在开放的时间内可以完成多次。但由于 Compute 要参加训练,他每天并没有多少时间玩游戏,所以他每天最多只能完成 e 次事件。
现在 Compute 想做出一件非常稀有的道具——高达,并且他计算出了他收集齐所有材料需要完成每一种事件的次数。
假设现在 Compute 从周一开始玩这个游戏,他最少需要经过几天(包括不玩游戏的日子)才能造出高达?
输入描述:
第一行包含 2 个整数 n, e (
,
),中间以空格分隔,分别表示不同事件的数量和 Compute 一天能完成的事件次数。
接下来 n 行,每行包含
个整数
,
,
(
,
,
,
),中间以空格分隔,分别表示事件 i 需要完成的次数、事件开放的天数和事件 i 在一周中的哪些时间会开放。
输出描述:
在一行输出一个整数,表示 Compute 造出高达的最少天数。
示例1
输入
复制
5 2
2 4 1 3 5 7
2 3 2 4 6
2 2 1 2
2 2 3 4
2 2 5 6
备注:
可以按如下方案进行:
第 1 天(周一):事件 1 和 3 各一次;
第 2 天(周二):事件 2 和 3 各一次;
第 3 天(周三):事件 1 和 4 各一次;
第 4 天(周四):事件 2 和 4 各一次;
第 5 天(周五):事件 5 两次。
正好 5 天即可完成。