[复合] NKBUS

主题: HTTP://vn.spoj.com/problems/NKBUS/
公司巴士应该接员工去办公室. 在旅程, 公交车将采取工作人员在等待会合如果车位可用. 公交车可停放工人回到等待永远到达会合.
指出每位员工何时到达他或她的集合点以及何时每辆公共汽车会合. 假设公共汽车当时到达第一个集合点 0 和登机时间相等 0.
巴士应将尽可能多的员工运送到总部. 确定公交车最短的工作时间.

输入值
第一行包含 2 整数n, m依次是公共汽车的集合点和座位数
接下来的n行中的第i行包含一个整数,这是巴士从第i个会合点到​​达第i个会合点+ 1所花费的时间。 (第n + 1个集合点将成为公司总部) 整数k是到达集合点i的员工数量, 后跟k个整数是k个工作人员任命的日期.
结果
由一行组成, 是找到的最短时间.
限制
1 ≤N≤ 200000, 1 ≤m≤ 20000
不超过员工总数 200000.
不超过结果 231-1.

样本数据
3 2
3 2 4 3
1 3 6 3 7
5 1 5
结果
10
说明: 在去那家公司的路上 3 巴士站. 从车站 1 到车站 2, 站 2 到车站 3, 从车站 3 到公司反过来需要 3, 1 和 5 时间单位. 公共汽车可以如下: 直接去车站 2, 欢迎此人 2, 到车站 3, 等待 1 在该车站仅接载人员的时间单位, 最后到公司. 总巴士不见了 3 + 1 + 1 + 5 = 10 时间单位.
————————-

首先要注意的是,这辆车反正要从车站出发 1 -> ñ + 1 因此,时间等于汽车从1-开始的所有时间的总和。> ñ + 1.
请注意,对于到达车站i的每个乘客,都可以在巴士到达车站i之前或之后到达,因此我们有一个数组W[] 也就是说,公交车必须等待车站i和W的人j的时间[升] 将等于第n个客户时间 (第i站的第j位访客) 停止我减去巴士从车站出发的时间 1 站我 (如果较小 0 然后为= 0 ).
将w升序排列. 即将发送后,我们有[升] 这是汽车等待第一人称的时间,也是汽车有足够的人的时间
最后,仅比较乘客数和m较小的乘客,我们就得到了W的附加结果[] 在其中.