第二试-最佳游览

成绩 0 开启时间 2013年01月22日 星期二 13:35
折扣 0.8 折扣时间 2013年01月22日 星期二 13:35
允许迟交 关闭时间 2013年01月22日 星期二 13:35
输入文件 perfecttour.in 输出文件 perfecttour.out

有一座旅游城,它的街道成网格状.其中东西向的街道是“风景线、两旁分布着许多景观:南北向的街道都是林荫道,两旁没有任何建筑物。由于游客众多,风最线被规定为单行道,游客在风景线上只能从西走到东,林荫道上则可以任意行走。

一名游客将到这座旅游城旅游。他根据自己对景观的喜好给所有的风景线打了分,分值是从-100到+100的整数,分值越大表示我们的旅游者越喜欢这条风最线上的景致。显然这位游客不可能给这座旅游城的所有风景线都打负分。

-50	–47	–36	–30	–23
17	–19	34	–13	–8
-42	–3	43	34	-45

游客可以从旅游城的任一个十字路口开始游览,在任一个十字路口结束游览。我们的旅游者希望一路上游览的所有风最线的分值之和能够尽可能地大。请你写一个程序,帮助这位游客寻找一条最佳的游览路线。

输入输出

输入文件的第一行是两个整数M和N,之间用一个空格符隔开,M表示旅游城南北向林荫道的段数,N表示东西向风景 线的段数,1<=M<=100,1<=N<=20000。接下来的M行依次给出了由北向南各条风景线的分值信息。每行有N-1个整 数,依次表示了自西向东每段风景线的分值。同一行相邻两个数之间用一个空格隔开。

输出文件只有一行,含一个整数,表示你的程序所找到的最佳游览路线的总分值。

样例

输入文件

3 6
50 -47 -36 -30 -23
17 -19 34 -13 -8
-42 -3 43 34 -45

输出文件

124