题目描述
给定三个长度为 n 的数组 D、L 和 R,元素编号从 1 开始,以及两个数字 a0 和 b0。你需要按照以下规则构建两个长度为 n+1 的数组 A 和 B:
- A0=a0,B0=b0。
- 对于从 1 到 n 的每个 i,执行以下操作:
- 初始设置 Ai=Ai−1+Di 和 Bi=Bi−1+Di。
- 选择恰好一种以下操作并应用:
- Ai=min(Ai,Li)
- Bi=min(Bi,Ri)
你的目标是构建数组 A 和 B,以最大化 An+Bn 的值。找出通过上述操作可以获得的最大 An+Bn 值。
输入格式
第一行包含一个整数 n (1≤n≤100000),表示数组 D、L 和 R 的长度。
第二行包含 n 个整数 D1,D2,…,Dn (0≤Di≤109),表示数组 D。
第三行包含 n 个整数 L1,L2,…,Ln (0≤Li≤109),表示数组 L。
第四行包含 n 个整数 R1,R2,…,Rn (0≤Ri≤109),表示数组 R。
第五行包含两个整数 a0 和 b0 (0≤a0,b0≤109)。
输出格式
输出一个整数,即通过构建数组 A 和 B 可以获得的最大 An+Bn 值。
5
4 0 7 0 8
10 5 3 7 7
8 5 9 2 23
4 8
34
数据范围与提示
详细子任务附加限制及分值如下表所示:
子任务 |
分值 |
附加限制 |
子任务依赖 |
备注 |
1 |
13 |
n≤15 |
0 |
|
2 |
18 |
n≤300 |
0,1 |
3 |
14 |
n≤5000,Di=0 |
|
4 |
16 |
n≤5000 |
0∼3 |
5 |
19 |
Di=0 |
3 |
6 |
20 |
|
0∼5 |