[SDOI2011]打地鼠
打地鼠是一种游戏:地面上分布着若干地鼠洞,地鼠会不时从洞中探出头,并在很短的时间后缩回。玩家需要在地鼠探出头时用锤子击打,打中的地鼠越多,得分越高。
普通锤子每次只能击打一只地鼠。如果有多只地鼠同时探出头,玩家只能多次挥舞锤子,才能将它们全部打掉。你认为这样的锤子效率太低,因此对锤子进行了改装,增大了锤子与地面的接触面积。
将地面视为一个 的网格,每个格子代表一个地鼠洞。改装后的锤子每次可以覆盖一块 的矩形区域。每次挥舞锤子时,锤子会从覆盖区域内的每个地鼠洞中恰好打掉 只地鼠。因此,只有当覆盖区域内每个地鼠洞中都至少有 只地鼠时,才能进行这次击打。即使某个地鼠洞中有多于 只地鼠,本次击打也只会从该洞中打掉 只。于是,每次挥舞锤子恰好会打掉 只地鼠。
由于锤子的内部结构十分精密,在游戏过程中不能旋转锤子,即不能交换 与 。
在游戏开始前,你可以任意确定锤子的规格,即选择 和 的大小。但游戏开始后,锤子的规格不能再改变。请计算打掉所有地鼠所需的最少挥舞次数。
由于可以将锤子的大小设置为 ,因此本题总是有解。
输入格式
第一行包含两个正整数 和 ,表示地面的行数和列数。
接下来 行,每行包含 个正整数。其中, 表示第 行第 列的地鼠洞中地鼠的数量。
输出格式
输出一个整数,表示打掉所有地鼠所需的最少挥舞次数。
样例输入
3 3
1 2 1
2 4 2
1 2 1
样例输出
4
数据范围
- ;
- 。
来源与许可
本题为 SDOI 2011 试题「打地鼠」,题面与测试数据整理自 BZOJ。
样例 1
输入
3 3
1 2 1
2 4 2
1 2 1
输出
4