题目背景
很久以前,yltx 来到了某现代化工厂,并且注意到了一些奇怪的事情,然后出了这道水题。
题目描述
该工厂是由机器人小车运货的。小车奇慢无比
小车行驶在一个单向的椭圆形轨道上,所以当小车运动到 $n+1$ 的位置时,就视为它已经将货物卸下车并回到起点 $0$,可以(注意,不是必须)再次出发。
总共有 $n$ 个货架(分别在位置 $1$ 至 $n$ 处),每个货架上将会有 $a_i$ 个货,第 $j$ 个货物将在 $t_{i,j}$ 时出现在货架口。
当然,如果一个货物已经到达货架口,且它没有被运走,那么它就会挡住后面一个货物,哪怕后面一个已经到达了货架口,也只能先运输前一个。
小车接货、卸货都不要时间,并且每个小车速度都为一个长度单位每秒,每个小车一次最多只能装一个货物,而且由于单行,只能前进。所以现在 yltx 思考了 1ms 想想出一种方案合理安排 $m$ 个小车,使得送货时间最短。
他当然会做了人脑计算机不是吹的,于是他想和你对个答案。
注:除了第 $0$ 个位置,其他位置都不允许有小车重合。(意即:不准超车)
输入格式
第一行两个整数 $n$,$m$。
接下来 $n$ 行,第 $i$ 行第一个整数 $a_{i}$,然后是 $a_{i}$ 个整数,表示 $ t_{i,j}$。
输出格式
只有一行,包含一个整数,表示最少要花多长时间。
样例
样例输入 1
2 2 1 1 1 5
样例输出 1
6
样例输入 2
2 2 1 2 1 4
样例输出 2
5
样例输入 3
18 7 1 1 1 1 5 1 5 11 31 39 1 29 5 11 34 41 45 47 1 37 6 15 31 39 41 41 47 1 47 1 39 3 1 1 21 1 23 1 11 1 37 5 1 3 9 11 16 5 1 1 11 18 31 3 1 31 33 1 41 9 1 1 1 1 11 35 41 41 45
样例输出 3
152
数据范围
【样例解释】
对于样例 $1$,应让 $1$ 号小车接 $1$ 时刻的货物,然后让小车 $2$ 接 $5$ 时刻的货物。如果让小车 $1$ 去接 $5$ 时刻的货物,小车 $2$ 接 $1$ 时刻的货物,则会导致 $1$ 号车挡住 $2$ 号车。
对于样例 $2$,应让 $1$ 号小车越过时刻 $2$ 的货物去接时刻 $4$ 的,把 $2$ 时刻的货物留给 $2$ 号小车,也可以让 $1$ 号小车接时刻 $2$ 的货物,$2$ 号小车接时刻 $4$ 的,答案不变。
【数据范围】
对于所有数据,$1\le n\le 10^6$,$1\le m\le 10^3$,$0\le a_i\le 2000$,$0\le t_{i,j}\le 10^{15}$。详细数据范围见下表。
测试点编号 | $n$ | $m$ | $a_i$ | $t$ |
---|---|---|---|---|
#1 | $\le10$ | $\le5$ | $\le10$ | $\le10$ |
#2 | $\le500$ | $\le50$ | $\le20$ | $\le500$ |
#3 | $\le5\times10^3$ | $\le200$ | $\le 2000$ | $\le10^4$ |
#4 | $\le10^4$ | $\le10$ | $\le300$ | $\le10^5$ |
#5 | $\le2\times10^5$ | $\le200$ | $\le50$ | $\le10^7$ |
#6 | $\le10^6$ | $\le10^3$ | $\le10$ | $\le10^{15}$ |
输入数据保证同一个货架上,$t$ 升序。
出题人善意的提醒:本题 I/O 量较大,请注意优化。