#P18. 凸型区域

凸型区域

题目背景

给定一个 2×n2\times n 的长方形网格,请从中找出一片凸型的区域,使得这片区域的分数之和达到最大。以下是一个例子,黑框表示分数最大的凸型区域:

1.png

题目描述

给定 u1,u2,⋯ ,unu_1,u_2,\cdots,u_n 以及 d1,d2,⋯ ,dnd_1,d_2,\cdots,d_n,请找到四个下标满足

1≤i<x≤y<j≤n1\leq i<x\leq y<j\leq n

使得

$$u_x+u_{x+1}+\cdots+u_{y} + d_i+d_{i+1}+\cdots+d_{j}$$

达到最大。

输入格式

第一行:单个正整数表示 nn。 第二行:nn 个整数表示 u1,u2,⋯ ,unu_1,u_2,\cdots,u_n。 第三行:nn 个整数表示 d1,d2,⋯ ,dnd_1,d_2,\cdots,d_n。

输出格式

单个整数:表示凸型区域的最大分数之和。

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

数据范围

  • 对于 25%25\% 的分数, 5≤n≤1005\leq n \leq 100;
  • 对于 50%50\% 的分数, 5≤n≤10005\leq n \leq 1000;
  • 对于 75%75\% 的分数, 5≤n≤100005\leq n \leq 10000;
  • 对于 100%100\% 的分数, 5≤n≤1000005\leq n \leq 100000;
  • −104≤ui≤104-10^4\leq u_i \leq 10^4;
  • −104≤di≤104-10^4\leq d_i \leq 10^4。