#2000. 贪吃的小猫

贪吃的小猫

贪吃的小猫

题目描述

在北京大学的校园里,有许多柿子树,在 25 号宿舍楼前,就有 N 棵。并且这 N 棵柿子树每棵的高度都是 H。冬天的寒冷渐渐笼罩了大地,树上的叶子渐渐掉光了,只剩下一个个黄澄澄的柿子,看着非常喜人。而有一只小猫恰好非常的爱吃柿子,看着窗外树上的柿子,它十分眼馋,于是决定利用自己敏捷的跳跃能力跳到树上去吃柿子。小猫可以从宿舍的阳台上跳到窗外任意一棵柿子树的树顶。之后,它每次都可以在当前位置沿着当前所在的柿子树向下跳 1 单位距离。当然,小猫的能力远不止如此,它还可以在树之间跳跃。每次它都可以从当前这棵树跳到另外的任意一棵,在这个过程中,它的高度会下降 Delta 单位距离。每个时刻,只要它所在的位置有柿子,它就可以吃掉。整个“吃柿子行动”一直到小猫落到地面上为止。现有同学准确的统计了所有柿子树上柿子的生长情况。他很想知道,小猫从阳台出发,最多能吃到多少柿子?现在你的任务就是帮助他写一个这样的程序。

输入格式

第一行有三个以空格分隔的整数,分别代表 N,H,Delta。接下来的 N 行,每行第一个整数为 Ni,代表第 i 棵树上的柿子数量。接下来是 Ni 个整数,每个整数 Ti,j 代表第 i 棵柿子树的 Ti,j 高度上长有一个柿子。

输出格式

一个整数,即小猫最多吃到的柿子数。

样例 #1

输入 #1

3 10 2
3 1 4 10
6 3 5 9 7 8 9
5 4 5 3 6 9

输出 #1

8

数据范围

对于全部数据,1 ≤ N,H ≤ 200,0 ≤ Ni ≤ 200,1 ≤ Delta ≤ N,1 ≤ Ti,j ≤ H。

注意:同一棵树上同一高度可能出现多个柿子,此时小猫到达该高度可以全部吃掉。