已结束 GESP巅峰赛#14

A4586 | 万圣糖果

来源官方 / 2024
时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

在万圣夜,你收到了 $N$ 个糖果礼盒 $1, 2, \cdots, N$,从左到右排成一行,其中第 $i$ 个礼盒中有 $A_i$ 个糖果。

在打开礼盒之前,你最多可以使用一个神奇的魔法 $2$ 次;每次可以选择一个区间 $[L, R] \ (1 \le L \le R \le N)$,对该区间内的所有礼盒施法,使其中的糖果数量发生变化。

两次施法的区间 可以重叠,这意味着,有一些礼盒可能会被施法 $1$ 次,有一些礼盒可能会被施法 $2$ 次,还有一些礼盒则没有被施法。

被施法 $1$ 次的礼盒 $i$ 里的糖果数量会变为 $B_i$;被施法 $2$ 次的礼盒 $i$ 里的糖果数量会变为 $C_i$。

请你计算 $N$ 个糖果礼盒在经过最多两次施法后打开,最多可以收集多少糖果。

$\large{数据范围}$

- $1 \le N \le 2 \times 10^5$
- $1 \le A_i, B_i, C_i \le 10^9$

输入格式

对于每个输入文件,格式如下:

$\tt{N}$

$\tt{A_1\ A_2\ \cdots\ A_N}$

$\tt{B_1\ B_2\ \cdots\ B_N}$

$\tt{C_1\ C_2\ \cdots\ C_N}$

输出格式

在单独的一行中输出能够收集到的最多的糖果数量。

输入输出样例

输入 #1
7
3 2 3 3 2 1 3
2 3 1 2 6 7 1
1 1 5 4 1 5 2
输出 #1
31
输入 #2
7
5 2 3 8 2 1 3
2 3 5 2 6 7 1
1 1 1 4 1 5 2
输出 #2
37
输入 #3
1
10
21
39
输出 #3
39
C++ 编辑器
输入
输出