2751 - 海盗的财宝

题目描述

海盗船长 Jack 带领他的船员们开始了一年一度的财宝分割大会,这是海盗们万众瞩目的一次会议,关系到海盗们年底能分得多少财宝。

经过了喋喋不休的一天争论, Jack 设计出了一个大家都公认的最公平的分割方案。

Jack 船长,将所有的要分割的财宝,放到一个 RC 列 ( 1\leq R,C\leq 500) 的矩阵中,矩阵中的第 i 行,第 j 列格子中的财宝金额为 Aij(1≤Aij≤4000)。

接下来由海盗们选举的最有公信力的成员 Davy 将财宝分割为 X \times Y 块,分给所有的海盗(海盗人数恰好是 X \times Y )。

分割方式为:先水平的在矩阵上画 X-1 条不重复的分割线(沿整数坐标切割),把财宝分割为 X 行。再把每一行独立的Y-1 条不重复的分割线(沿整数坐标切割),从而把每一行的财宝分割成 Y 份。

虽然 Davy 是公认的对大家都很公平的人,但是为了防止 Davy 有私心,想要给自己多留, Davy 只能等大家都选完之后,要最后一份

可怜的 Davy 已经知道自己得到的那份一定不可能比其他海盗得到的更多,请你编程帮助 Davy 计算出,他得到的那份财宝,最多有多少?

例如,下面有一个 5\times4 矩阵,矩阵中每个格子的财宝金额如下:

1 2 2 1
3 1 1 1
2 1 1 3
1 1 1 1
1 1 1 1

将财宝先画 3 条横线切割为 4 行,再将每行画 1 条纵向的线,切割成 2 份,就可以将财宝分成8份。

1 2 | 2 1
---------
3 | 1 1 1
---------
2 1 | 1 3
---------
1 1 | 1 1
1 1 | 1 1

Davy 可以得到一份金额为 3 的财宝。

输入

1 行读入 4 个整数:R,C,X,Y,含义如题目所述,整数之间用空格隔开。

接下来 R 行,每行有 C 个整数,每个整数代表了初始状态下,矩阵中一份财宝的金额。

输出

输出一个整数,代表 Davy 能得到的那份财宝的最大值。

样例

输入

5 4 4 2 
1 2 2 1 
3 1 1 1 
2 1 1 3 
1 1 1 1 
1 1 1 1

输出

3
说明

【数据范围】

对于 20\% 的数据,4≤R,C≤10,X=1,Y=2

对于 50\% 的数据,4≤R,C≤10,2≤X≤R,2≤Y≤C

对于 100\% 的数据,4≤R,C≤500,2≤X≤R,2≤Y≤C1≤Aij≤4000

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 113
通过人数 46
金币数量 3 枚
难度 入门


上一题 下一题