在一个包含两行和m列的糖果迷宫中,小A和小B从左上角出发,目标是到达右下角。小A在路径中尽量减少小B可以获得的糖果,而小B希望在小A走完后能尽可能多地吃到糖果。通过动态规划的方法,我们可以计算出小B最多能够吃掉的糖果数量。具体实现时,首先记录小A的路径及其获得的糖果,然后基于小A的路径计算小B的最大糖果数,最终得出小B可以获得的最大糖果总数。
我们需要计算小A和小B分别在迷宫中移动时所能吃到的糖果数量。小A从左上角开始,向右或向下移动,直到到达终点。小B则从小A结束的地方开始,从终点位置返回到左上角,但不能吃小A吃过的糖果。小A的目标是尽量减少小B吃掉的糖果,而小B希望在小A走完后能吃到尽可能多的糖果。
小红有一个神奇的糖果迷宫,这个迷宫是一个矩形迷宫,包含了两行(行数为2)和m列(列数为m)的格子。每个格子中都有不同的分数,由二维数组a[i][j]表示,其中i表示行号,j表示列号。
小A和小B从迷宫的左上角(位置a[0][0])出发,走到迷宫的右下角(位置a[1][m-1])。在这个过程中,他只能进行向右或向下的移动,每到达一个格子,他们都会吃掉这个格子的糖果。
假设小A先走,他会获得吃掉路径中的糖果,然后小B开始走,他不能重复吃掉小A吃过的糖果。
小A的目标是要尽量减少小B吃掉的糖果总数,而小B则希望在小A走完后,自己能吃掉更多的糖果总数。
请你计算小B最多可以吃掉多少糖果。
第一行一个整数 m,表示迷宫的列数。
接下来两行,每行 m 个整数,表示当前位置的糖果数。
输出小B最多可以吃掉的糖果数。
4
1 5 2 7
5 3 4 1
8
1≤m≤105